import tkinter as tk
from tkinter import messagebox
def register():
name = entry_name.get()
age = entry_age.get()
sport = sport_listbox.get(tk.ACTIVE)
gender = gender_var.get()
agree = agree_var.get()
if not name or not age:
messagebox.showwarning("Input Error", "Please fill all fields.")
elif not agree:
messagebox.showwarning("Terms Required", "You must agree to the terms & conditions.")
else:
messagebox.showinfo("Registration Successful",
f"Name: {name}\\nAge: {age}\\nGender: {gender}\\nSport: {sport}")
root = tk.Tk()
root.title("Sports Academy Registration")
root.geometry("400x500")
# Heading label spanning two columns
tk.Label(root, text="Sports Academy Registration Form", font=("Arial", 14, "bold")) \\
.grid(row=0, column=0, columnspan=2, pady=10)
# Full Name
tk.Label(root, text="Full Name:").grid(row=1, column=0, sticky="w", padx=40, pady=5)
entry_name = tk.Entry(root, width=30)
entry_name.grid(row=1, column=1, padx=40, pady=5)
# Age
tk.Label(root, text="Age:").grid(row=2, column=0, sticky="w", padx=40, pady=5)
entry_age = tk.Entry(root, width=30)
entry_age.grid(row=2, column=1, padx=40, pady=5)
# Gender Radio Buttons
tk.Label(root, text="Gender:").grid(row=3, column=0, sticky="w", padx=40, pady=5)
gender_var = tk.StringVar(value="Male")
tk.Radiobutton(root, text="Male", variable=gender_var, value="Male") \\
.grid(row=3, column=1, sticky="w", padx=60)
tk.Radiobutton(root, text="Female", variable=gender_var, value="Female") \\
.grid(row=4, column=1, sticky="w", padx=60)
# Sports Listbox
tk.Label(root, text="Select Sport:").grid(row=5, column=0, sticky="w", padx=40, pady=(10, 0))
sport_listbox = tk.Listbox(root, height=5, exportselection=False)
for sport in ["Cricket", "Football", "Badminton", "Tennis", "Swimming"]:
sport_listbox.insert(tk.END, sport)
sport_listbox.grid(row=5, column=1, padx=40, pady=(10, 5))
# Terms & Conditions Checkbox spanning two columns
agree_var = tk.BooleanVar()
tk.Checkbutton(root, text="I agree to the terms & conditions", variable=agree_var) \\
.grid(row=6, column=0, columnspan=2, sticky="w", padx=40, pady=10)
# Register Button spanning two columns
tk.Button(root, text="Register", command=register) \\
.grid(row=7, column=0, columnspan=2, pady=15)
root.mainloop()