使用tkinter实现点单界面

img


使用tkinter按钮组件实现简易点单界面,谢谢了,非常感谢

基于new bing加以修改后的编写:

img

from tkinter import *

class IceCreamOrder:
    def __init__(self, master):
        self.master = master
        master.title("Ice Cream Order")

        # 创建"您喜欢吃什么口味的冰淇淋"标签
        self.label_flavor = Label(master, text="您喜欢吃什么口味的冰淇淋?")
        self.label_flavor.grid(row=0, columnspan=3)

        # 创建三个口味按钮
        self.btn_strawberry = Button(master, text="草莓味", command=self.show_size_choice_strawberry)
        self.btn_chocolate = Button(master, text="巧克力味", command=self.show_size_choice_chocolate)
        self.btn_banana = Button(master, text="香蕉味", command=self.show_size_choice_banana)

        # 将三个口味按钮添加到GUI中
        self.btn_strawberry.grid(row=1, column=0)
        self.btn_chocolate.grid(row=1, column=1)
        self.btn_banana.grid(row=1, column=2)

    def show_size_choice_strawberry(self):
        # 创建草莓口味选择尺寸窗口
        self.toplevel_strawberry = Toplevel(self.master)

        # 创建"草莓味多大尺寸"标签
        self.label_strawberry = Label(self.toplevel_strawberry, text="草莓味多大尺寸?")
        self.label_strawberry.grid(row=0, columnspan=3)

        # 创建三个尺寸选择按钮
        self.btn_small_strawberry = Button(self.toplevel_strawberry, text="1", command=lambda:self.show_order("草莓味", "1"))
        self.btn_medium_strawberry = Button(self.toplevel_strawberry, text="2", command=lambda:self.show_order("草莓味", "2"))
        self.btn_large_strawberry = Button(self.toplevel_strawberry, text="3", command=lambda:self.show_order("草莓味", "3"))

        # 将三个尺寸选择按钮添加到GUI中
        self.btn_small_strawberry.grid(row=1, column=0)
        self.btn_medium_strawberry.grid(row=1, column=1)
        self.btn_large_strawberry.grid(row=1, column=2)

    def show_size_choice_chocolate(self):
        # 创建巧克力口味选择尺寸窗口
        self.toplevel_chocolate = Toplevel(self.master)

        # 创建"巧克力味多大尺寸"标签
        self.label_chocolate = Label(self.toplevel_chocolate, text="巧克力味多大尺寸?")
        self.label_chocolate.grid(row=0, columnspan=3)

        # 创建三个尺寸选择按钮
        self.btn_small_chocolate = Button(self.toplevel_chocolate, text="1", command=lambda:self.show_order("巧克力味", "1"))
        self.btn_medium_chocolate = Button(self.toplevel_chocolate, text="2", command=lambda:self.show_order("巧克力味", "2"))
        self.btn_large_chocolate = Button(self.toplevel_chocolate, text="3", command=lambda:self.show_order("巧克力味", "3"))

        # 将三个尺寸选择按钮添加到GUI中
        self.btn_small_chocolate.grid(row=1, column=0)
        self.btn_medium_chocolate.grid(row=1, column=1)
        self.btn_large_chocolate.grid(row=1, column=2)

    def show_size_choice_banana(self):
        # 创建香蕉口味选择尺寸窗口
        self.toplevel_banana = Toplevel(self.master)

        # 创建"香蕉味多大尺寸"标签
        self.label_banana = Label(self.toplevel_banana, text="香蕉味多大尺寸?")
        self.label_banana.grid(row=0, columnspan=3)

        # 创建三个尺寸选择按钮
        self.btn_small_banana = Button(self.toplevel_banana, text="1", command=lambda:self.show_order("香蕉味", "1"))
        self.btn_medium_banana = Button(self.toplevel_banana, text="2", command=lambda:self.show_order("香蕉味", "2"))
        self.btn_large_banana = Button(self.toplevel_banana, text="3", command=lambda:self.show_order("香蕉味", "3"))

        # 将三个尺寸选择按钮添加到GUI中
        self.btn_small_banana.grid(row=1, column=0)
        self.btn_medium_banana.grid(row=1, column=1)
        self.btn_large_banana.grid(row=1, column=2)

    def show_order(self,flavor,size):
        # 创建订单窗口
        self.toplevel_order=Toplevel(self.master)

        # 创建"您选择X的Y味冰淇淋"标签
        self.label_order=Label(self.toplevel_order,text="您选择" + size + "的" + flavor + "冰淇淋")
        self.label_order.pack()

        # 创建"OK"按钮
        self.btn_ok=Button(self.toplevel_order,text="OK",command=self.toplevel_order.destroy)
        self.btn_ok.pack()

    def close_windows(self):
        # 隐藏所有弹出窗口
        self.toplevel_strawberry.withdraw()
        self.toplevel_chocolate.withdraw()
        self.toplevel_banana.withdraw()
        self.toplevel_order.withdraw()


root = Tk()
my_gui = IceCreamOrder(root)
root.mainloop()


  • 这个问题的回答你可以参考下: https://ask.csdn.net/questions/7735641
  • 这篇博客也不错, 你可以看下用tkinter实现一个简易能进行随机点名的界面
  • 除此之外, 这篇博客: 用tkinter做一个简单图形界面中的 tkinter简介 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • tkinter是Python自带的一个GUI包。优缺点非常明显:

    优点:简单、快速、无需安装

    缺点:界面复古,缺少对一些复杂功能的支持

    (注意,Python2的tkinter名称为Tkinter,我们不讨论它)

  • 您还可以看一下 董付国老师的Python可以这样学(第二季:tkinter案例精选)课程中的 实用tkinter实现登录界面小节, 巩固相关知识点
  • 以下回答由chatgpt基于相关博客总结生成:

    问题解答:

    要使用tkinter实现一个简易的点单界面,可以考虑使用按钮组件和列表框组件实现。具体步骤如下:

    1. 导入tkinter模块,并创建一个窗口对象:
    from tkinter import *
    root = Tk()
    
    1. 设置窗口大小和标题:
    root.geometry("400x400")
    root.title("点单界面")
    
    1. 创建一个列表框,用于显示已选商品:
    listbox = Listbox(root)
    listbox.pack()
    
    1. 创建多个按钮组件,用于选择商品,并将其添加到列表框中:
    def add_coke():
        listbox.insert(END, "可乐")
    
    def add_chips():
        listbox.insert(END, "薯片")
    
    button1 = Button(root, text="加入可乐", command=add_coke)
    button2 = Button(root, text="加入薯片", command=add_chips)
    button1.pack()
    button2.pack()
    
    1. 显示窗口:
    root.mainloop()
    

    完整代码示例:

    from tkinter import *
    
    # 添加商品到列表框
    def add_coke():
        listbox.insert(END, "可乐")
    
    def add_chips():
        listbox.insert(END, "薯片")
    
    # 创建窗口对象
    root = Tk()
    root.geometry("400x400")
    root.title("点单界面")
    
    # 创建列表框
    listbox = Listbox(root)
    listbox.pack()
    
    # 创建按钮组件
    button1 = Button(root, text="加入可乐", command=add_coke)
    button2 = Button(root, text="加入薯片", command=add_chips)
    button1.pack()
    button2.pack()
    
    # 显示窗口
    root.mainloop()
    

    运行结果:

    ![点单界面示例](https