# Create a custom application class "Hobbies" that inherits from CTk (Custom Tkinter) class Hobbies(CTk): # Constructor of the class def __init__(self): # Call the constructor of the parent class (CTk) using super() super().__init__() self.title("Hobbies") # Create a label to display "Select your hobbies" self.display_label = CTkLabel(self, text="Select your hobbies") self.display_label.pack(padx=10, pady=10) # Create a frame to hold the checkboxes self.frame =CTkFrame(self) self.frame.pack(padx=10, pady=10) # Create a StringVar to store the value of the first hobby (initially empty) self.hobby1 = StringVar() # Create a CTkCheckBox for "Coding" # When the checkbox is toggled, the self.hobby() method will be called # The checkbox's variable is self.hobby1, and its values are "Coding" (checked) and "" (unchecked) self.hobby1_cb = CTkCheckBox(self.frame, text="Coding", command=self.hobby, variable=self.hobby1, onvalue="Coding", offvalue="") self.hobby1_cb.grid(row=0, padx=10, pady=10) # Create a StringVar to store the value of the second hobby (initially empty) self.hobby2 = StringVar() # Create a CTkCheckBox for "Cricket" # When the checkbox is toggled, the self.hobby() method will be called # The checkbox's variable is self.hobby2, and its values are "Cricket" (checked) and "" (unchecked) self.hobby2_cb = CTkCheckBox(self.frame, text="Cricket", command=self.hobby, variable=self.hobby2, onvalue="Cricket", offvalue="") self.hobby2_cb.grid(row=1, padx=10, pady=10) # Create a StringVar to store the value of the third hobby (initially empty) self.hobby3 = StringVar() # Create a CTkCheckBox for "Drawing" # When the checkbox is toggled, the self.hobby() method will be called # The checkbox's variable is self.hobby3, and its values are "Drawing" (checked) and "" (unchecked) self.hobby3_cb = CTkCheckBox(self.frame, text="Drawing", command=self.hobby, variable=self.hobby3, onvalue="Drawing", offvalue="") self.hobby3_cb.grid(row=2, padx=10, pady=10) # Create a label to display the selected hobbies self.label= CTkLabel(self.frame, text="") self.label.grid(row=3) # Method to handle the checkbox toggle event def hobby(self): # Destroy the existing label to clear its contents self.label.destroy() # Create a new label to display the selected hobbies self.label = CTkLabel(self.frame, text=f"{self.hobby1.get()} {self.hobby2.get()} {self.hobby3.get()}") self.label.grid(row=3) # Create an instance of the custom application class "Hobbies" app = Hobbies() # Start the main event loop of the application app.mainloop()