Answered step by step
Verified Expert Solution
Link Copied!

Question

00
1 Approved Answer

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

Step: 1

blur-text-image

Get Instant Access with AI-Powered Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Students also viewed these Databases questions