Question: import tkinter as tk from tkinter import messagebox class FrogsPizzeriaApp: def _ _ init _ _ ( self , root ) : self.root = root

import tkinter as tk
from tkinter import messagebox
class FrogsPizzeriaApp:
def __init__(self, root):
self.root = root
self.root.title("Frog's Pizzeria")
self.create_main_window()
self.create_order_window()
def create_main_window(self):
# Main Window
self.main_frame = tk.Frame(self.root)
self.main_frame.pack(fill="both", expand=True)
tk.Label(self.main_frame, text="Welcome to Frog's Pizzeria", font=("Arial",16)).pack(pady=10)
tk.Label(self.main_frame, text="Name:").pack()
self.name_entry = tk.Entry(self.main_frame)
self.name_entry.pack()
self.start_order_button = tk.Button(self.main_frame, text="Start Order", command=self.show_order_window)
self.start_order_button.pack(pady=10)
self.exit_button = tk.Button(self.main_frame, text="Exit", command=self.root.quit)
self.exit_button.pack(pady=10)
def create_order_window(self):
# Order Window
self.order_window = tk.Toplevel(self.root)
self.order_window.title("Place Your Order")
self.order_window.geometry("400x600")
self.order_window.withdraw()
tk.Label(self.order_window, text="Select Your Pizza", font=("Arial",14)).pack(pady=10)
# Pizza Size
self.pizza_size_var = tk.StringVar(value="Small")
sizes =[("Small",8),("Medium",10),("Large",12)]
for size, price in sizes:
tk.Radiobutton(self.order_window, text=f"{size}- ${price}", variable=self.pizza_size_var, value=size).pack(anchor="w")
# Sides
self.sides_var = tk.StringVar(value="")
sides =[("Garlic Bread", 3),("Salad",4),("Wings",6)]
for side, price in sides:
tk.Checkbutton(self.order_window, text=f"{side}- ${price}", variable=self.sides_var, onvalue=side, offvalue="").pack(anchor="w")
# Drinks
self.drink_var = tk.StringVar(value="")
drinks =[("Soda",2),("Water",1),("Juice",3)]
for drink, price in drinks:
tk.Checkbutton(self.order_window, text=f"{drink}- ${price}", variable=self.drink_var, onvalue=drink, offvalue="").pack(anchor="w")
# Order Button
self.order_button = tk.Button(self.order_window, text="Place Order", command=self.calculate_total)
self.order_button.pack(pady=10)
# Back Button
self.back_button = tk.Button(self.order_window, text="Back", command=self.hide_order_window)
self.back_button.pack(pady=10)
def show_order_window(self):
if self.name_entry.get().strip()=="":
messagebox.showerror("Error", "Please enter your name.")
return
self.order_window.deiconify()
self.main_frame.pack_forget()
def hide_order_window(self):
self.order_window.withdraw()
self.main_frame.pack(fill="both", expand=True)
def calculate_total(self):
name = self.name_entry.get()
pizza_size = self.pizza_size_var.get()
side = self.sides_var.get()
drink = self.drink_var.get()
prices ={"Small": 8, "Medium": 10, "Large": 12, "Garlic Bread": 3, "Salad": 4, "Wings": 6, "Soda": 2, "Water": 1, "Juice": 3}
total = prices[pizza_size]
if side:
total += prices[side]
if drink:
total += prices[drink]
summary = f"Order Summary for {name}:
Pizza Size: {pizza_size}- ${prices[pizza_size]}
"
if side:
summary += f"Side: {side}- ${prices[side]}
"
if drink:
summary += f"Drink: {drink}- ${prices[drink]}
"
summary += f"Total: ${total}"
messagebox.showinfo("Order Summary", summary)
self.hide_order_window()
# Run the application
if __name__=="__main__":
root = tk.Tk()
app = FrogsPizzeriaApp(root)
root.mainloop()
I need to had at least 2 images added to the code. Also the type of pizza sides and drinks. Pepperoni, Supreme, Hawaiin, Sausage etc. then drinks pepsi, dr pepper, mt dew etc. Plus the main window where you add the name should include a phone number and possibly adding an image as a background and it doesn't ever close.

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!