import tkinter as tk
from tkinter import messagebox
def signup():
n = entry_name.get()
e = entry_email.get()
p = entry_pwd.get()
c = entry_cpwd.get()
g = gender_var.get()
t = terms_var.get()
if not all([n, e, p, c]):
messagebox.showwarning("Error", "Fill all fields!")
return
if p != c:
messagebox.showerror("Error", "Passwords don't match!")
return
if not t:
messagebox.showwarning("Error", "Accept Terms & Conditions!")
return
result_label.config(text=f"Welcome, {n}!", fg="green")
root = tk.Tk()
root.title("Sign-Up")
root.geometry("350x400")
# Full Name
tk.Label(root, text="Full Name:").grid(row=0, column=0, sticky="w", padx=10, pady=5)
entry_name = tk.Entry(root)
entry_name.grid(row=0, column=1, padx=10, pady=5)
# Email
tk.Label(root, text="Email ID:").grid(row=1, column=0, sticky="w", padx=10, pady=5)
entry_email = tk.Entry(root)
entry_email.grid(row=1, column=1, padx=10, pady=5)
# Password
tk.Label(root, text="Password:").grid(row=2, column=0, sticky="w", padx=10, pady=5)
entry_pwd = tk.Entry(root, show="*")
entry_pwd.grid(row=2, column=1, padx=10, pady=5)
# Confirm Password
tk.Label(root, text="Confirm Password:").grid(row=3, column=0, sticky="w", padx=10, pady=5)
entry_cpwd = tk.Entry(root, show="*")
entry_cpwd.grid(row=3, column=1, padx=10, pady=5)
# Gender Radio Buttons
tk.Label(root, text="Gender:").grid(row=4, column=0, sticky="w", padx=10, pady=5)
gender_var = tk.StringVar(value="Male")
tk.Radiobutton(root, text="Male", variable=gender_var, value="Male").grid(row=4, column=1, sticky="w")
tk.Radiobutton(root, text="Female", variable=gender_var, value="Female").grid(row=4, column=1)
tk.Radiobutton(root, text="Other", variable=gender_var, value="Other").grid(row=5, column=1, sticky="w")
# Terms & Conditions Checkbox
terms_var = tk.BooleanVar()
tk.Checkbutton(root, text="I accept Terms & Conditions", variable=terms_var).grid(row=6, column=0, columnspan=2, padx=10, pady=5)
# Submit Button
tk.Button(root, text="Sign Up", command=signup).grid(row=7, column=0, columnspan=2, pady=10)
# Result Label
result_label = tk.Label(root, text="", fg="red")
result_label.grid(row=8, column=0, columnspan=2, padx=10, pady=10)
root.mainloop()