pinterest-site-verification=f733925c88b2d69d81e4298adc53ac40 import tkinter as tk from tkinter import messagebox import requests FORMSPREE_ENDPOINT = 'https://formspree.io/f/xlekqpdy' class App: def __init__(self): self.selected_options = {} self.window = tk.Tk() # Create the main window self.create_labels() # Create labels self.create_buttons() # Create buttons self.create_email_entry() # Create email entry field self.create_submit_button() # Create submit button def create_labels(self): labels = ["Dress Type", "Size", "Color", "Sleeve Type", "Fabric Type", "Lace", "Beading", "Train Length"] for label_text in labels: label = tk.Label(self.window, text=label_text + ":") label.pack() def create_buttons(self): button_data = [ { "name": "Dress Type", "options": ['Mermaid', 'Ball Gown', 'Sheath'], # Replace with actual wedding dress types }, { "name": "Size", "options": ['S', 'M', 'L'], # Replace with your own sizes }, { "name": "Color", "options": ['Red', 'Blue', 'Green'], # Replace with your own colors }, { "name": "Sleeve Type", "options": ['Short Sleeve', 'Long Sleeve', 'Sleeveless'], # Replace with actual sleeve types }, { "name": "Fabric Type", "options": ['Silk', 'Lace', 'Tulle'], # Replace with actual fabric types }, { "name": "Lace", "options": ['With Lace', 'Without Lace'], # Replace with actual lace options }, { "name": "Beading", "options": ['With Beading', 'Without Beading'], # Replace with actual beading options }, { "name": "Train Length", "options": ['Short', 'Medium', 'Long'], # Replace with actual train lengths } ] for button_info in button_data: frame = tk.Frame(self.window) frame.pack() label = tk.Label(frame, text=button_info["name"] + ":") label.pack(side=tk.LEFT) buttons = {} for option in button_info["options"]: button = tk.Button( frame, text=option, command=lambda opt=option, btns=buttons, cat=button_info["name"]: self.on_button_selected(cat, opt, btns) ) button.pack(side=tk.LEFT) buttons[option] = button self.selected_options[button_info["name"]] = None def create_email_entry(self): email_label = tk.Label(self.window, text="Email:") email_label.pack() self.email_entry = tk.Entry(self.window) self.email_entry.pack() def create_submit_button(self): submit_button = tk.Button(self.window, text="Submit", command=self.submit_form) submit_button.pack() def on_button_selected(self, category, option, buttons): self.selected_options[category] = option for btn in buttons.values(): btn.config(relief=tk.RAISED) buttons[option].config(relief=tk.SUNKEN) def submit_form(self): selected_options = list(self.selected_options.values()) email = self.email_entry.get() if None in selected_options or not email: messagebox.showerror("Error", "Please select all options and enter your email.") return self.send_email_to_formspree(selected_options, email) def send_email_to_formspree(self, user_choices, email): form_data = { 'email': email, 'choices': str(user_choices) # Convert the choices to a string } try: response = requests.post(FORMSPREE_ENDPOINT, data=form_data) response.raise_for_status() messagebox.showinfo("Success", "Form submitted successfully!") self.clear_selections() except requests.exceptions.RequestException as e: print("Error:", e) messagebox.showerror("Error", "Failed to submit form.") def clear_selections(self): self.selected_options = {} self.email_entry.delete(0, tk.END) self.window.destroy()
top of page

Welcome Sparklets! Keep up with the latest bridal and evening gown fashion trends! Subscribe to be the first to know about trunk shows, VIP special events and sales!

bottom of page