import tkinter as tk
from tkinter import messagebox
def register():
name = entry_name.get()
age = entry_age.get()
gender = gender_var.get()
disease = disease_listbox.get(tk.ACTIVE)
admitted = admit_var.get()
if not name or not age or not gender:
messagebox.showwarning("Input Error", "Please fill all fields.")
else:
messagebox.showinfo("Registration Successful",
f"Name: {name}\\nAge: {age}\\nGender: {gender}\\nDisease: {disease}\\nAdmitted: {admitted}")
root = tk.Tk()
root.title("Patient Registration Form")
root.geometry("400x500")
# Heading label spanning two columns
tk.Label(root, text="Hospital Patient Registration", 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)
tk.Radiobutton(root, text="Other", variable=gender_var, value="Other") \\
.grid(row=5, column=1, sticky="w", padx=60)
# Disease Listbox
tk.Label(root, text="Select Disease:").grid(row=6, column=0, sticky="w", padx=40, pady=(10, 0))
disease_listbox = tk.Listbox(root, height=5, exportselection=False)
for d in ["Fever", "Cold", "Injury", "Diabetes", "Other"]:
disease_listbox.insert(tk.END, d)
disease_listbox.grid(row=6, column=1, padx=40, pady=(10, 5))
# Admitted Checkbutton
admit_var = tk.StringVar(value="No")
tk.Checkbutton(root, text="Admitted to Hospital", variable=admit_var, onvalue="Yes", offvalue="No") \\
.grid(row=7, column=0, columnspan=2, sticky="w", padx=40, pady=10)
# Register Button spanning two columns
tk.Button(root, text="Register", command=register) \\
.grid(row=8, column=0, columnspan=2, pady=20)
root.mainloop()