没有其他需求了?你这个不完整的,按理说点三个按钮都有各自的提示的,好的了解了,给你实现的代码
import tkinter as tk
from tkinter import messagebox
def show_size(flavor):
size_window = tk.Toplevel(root)
size_window.title("尺寸选择")
tk.Label(size_window, text=f"请选择{flavor}的尺寸:").pack()
tk.Radiobutton(size_window, text="1", variable=size_var, value=1).pack()
tk.Radiobutton(size_window, text="2", variable=size_var, value=2).pack()
tk.Radiobutton(size_window, text="3", variable=size_var, value=3).pack()
tk.Button(size_window, text="确定", command=lambda: show_choice(flavor)).pack()
def show_choice(flavor):
size = size_var.get()
messagebox.showinfo("选择结果", f"你选择了{size}的{flavor}口味冰淇淋")
root.destroy()
root = tk.Tk()
root.title("冰淇淋口味选择")
flavor_var = tk.StringVar()
size_var = tk.IntVar()
tk.Label(root, text="请选择你喜欢的口味:").pack()
tk.Radiobutton(root, text="草莓味", variable=flavor_var, value="草莓味", command=lambda: show_size("草莓味")).pack()
tk.Radiobutton(root, text="巧克力味", variable=flavor_var, value="巧克力味", command=lambda: show_size("巧克力味")).pack()
tk.Radiobutton(root, text="香蕉味", variable=flavor_var, value="香蕉味", command=lambda: show_size("香蕉味")).pack()
tk.Button(root, text="确定", command=root.destroy).pack()
root.mainloop()
最近在尝试用用python的内置库tkinter写一个GUI应用,碰到了一些问题,这里note一下。
开发工具:pycharm
库:Tkinter
python 版本: python3.6
我可以提供一些关于如何使用Python的tkinter来创建点菜菜单的代码和指导。首先,我们需要定义菜单项和菜单选项的数量。我们可以使用按钮来实现每个菜单项。以下是一个简单的示例代码:
import tkinter as tk
class Menu:
def __init__(self, items):
self.items = items
self.main_window = tk.Tk()
self.main_window.title("点菜菜单")
# 创建菜单按钮
for i in range(len(self.items)):
btn = tk.Button(self.main_window, text=self.items[i]["name"], command=lambda i=i: self.add_to_order(i))
btn.grid(row=i, column=0, padx=10, pady=5)
# 创建点菜列表
self.order_list = tk.Listbox(self.main_window, width=30)
self.order_list.grid(row=0, column=1, rowspan=len(self.items))
# 创建确定按钮
confirm_btn = tk.Button(self.main_window, text="确定", command=self.confirm_order)
confirm_btn.grid(row=len(self.items)+1, columnspan=2, pady=10)
self.orders = []
# 添加菜品到点单列表
def add_to_order(self, i):
self.orders.append(self.items[i]["name"] + " - " + str(self.items[i]["price"]))
self.order_list.insert(tk.END, self.orders[-1])
# 确定点单
def confirm_order(self):
total = sum([float(x.split(" - ")[1]) for x in self.orders])
tk.messagebox.showinfo("总价格", "您的点单为:" + "\n".join(self.orders) + "\n\n总价格为:" + str(total))
self.main_window.destroy()
items = [
{"name": "青菜", "price": 10.0},
{"name": "土豆", "price": 12.0},
{"name": "鱼", "price": 22.0},
{"name": "牛肉", "price": 25.0},
{"name": "虾", "price": 18.0},
{"name": "蟹", "price": 20.0}
]
menu = Menu(items)
menu.main_window.mainloop()
这个示例代码创建了一个名为"点菜菜单"的tkinter窗口,其包含了一系列菜单项按钮和一个点菜列表。每个菜单项按钮被点击时,将添加一个菜品到点菜列表中。当“确定”按钮被点击时,会弹出一个消息框,显示点单的详细信息和总价格。
你可以根据自己的需求修改上面的代码以创建自己的点菜菜单。如果你有更多的问题,请随时问我!