import tkinter as tk
from tkinter import messagebox
def transfer_funds():
sender = entry_sender.get()
receiver = entry_receiver.get()
amount = entry_amount.get()
method = payment_var.get()
if not sender or not receiver or not amount:
messagebox.showwarning("Input Error", "Please fill all fields.")
return
try:
amt = float(amount)
if amt <= 0:
raise ValueError
except ValueError:
messagebox.showerror("Invalid Amount", "Please enter a valid positive amount.")
return
messagebox.showinfo("Transaction Successful",
f"Transfer Successful!\\n\\nSender: {sender}\\nReceiver: {receiver}\\nAmount: ₹{amt}\\nMethod: {method}")
root = tk.Tk()
root.title("Fund Transfer")
root.geometry("400x400")
# Heading label spanning 2 columns
tk.Label(root, text="Fund Transfer Window", font=("Arial", 16, "bold")) \\
.grid(row=0, column=0, columnspan=2, pady=15)
# Sender Account
tk.Label(root, text="Sender Account:").grid(row=1, column=0, sticky="w", padx=40, pady=5)
entry_sender = tk.Entry(root, width=30)
entry_sender.grid(row=1, column=1, padx=40, pady=5)
# Receiver Account
tk.Label(root, text="Receiver Account:").grid(row=2, column=0, sticky="w", padx=40, pady=5)
entry_receiver = tk.Entry(root, width=30)
entry_receiver.grid(row=2, column=1, padx=40, pady=5)
# Amount
tk.Label(root, text="Amount (₹):").grid(row=3, column=0, sticky="w", padx=40, pady=5)
entry_amount = tk.Entry(root, width=30)
entry_amount.grid(row=3, column=1, padx=40, pady=5)
# Payment Method Radio Buttons
tk.Label(root, text="Payment Method:").grid(row=4, column=0, sticky="w", padx=40, pady=(10, 0))
payment_var = tk.StringVar(value="UPI")
tk.Radiobutton(root, text="UPI", variable=payment_var, value="UPI") \\
.grid(row=4, column=1, sticky="w", padx=60)
tk.Radiobutton(root, text="Net Banking", variable=payment_var, value="Net Banking") \\
.grid(row=5, column=1, sticky="w", padx=60)
tk.Radiobutton(root, text="Card", variable=payment_var, value="Card") \\
.grid(row=6, column=1, sticky="w", padx=60)
# Transfer Button spanning two columns
tk.Button(root, text="Transfer Funds", command=transfer_funds) \\
.grid(row=7, column=0, columnspan=2, pady=25)
root.mainloop()