如何使用tkinter列表框组件实现简易点单界面(需要全过程版本?(语言-python)

img


我真的需要一个全过程的这个tkinter,有没有好人捞捞我,而你!是我的英雄!

不知道你这个问题是否已经解决, 如果还没有解决的话:
  • 你可以参考下这个问题的回答, 看看是否对你有帮助, 链接: https://ask.csdn.net/questions/7619245
  • 你也可以参考下这篇文章:【python】之tkinter库,制作一个简易图形界面!
  • 除此之外, 这篇博客: 如何用Python自带的Tkinter库实现一个简单的贪吃蛇——一个菜鸟的自娱自乐中的 Tkinter库中所需要的组件 部分也许能够解决你的问题, 你可以仔细阅读以下内容或者直接跳转源博客中阅读:
      核心组件只有一个,Canvas,也就是画布,需要依托它来进行窗口的画图
      Canvas(window, width = Width, height = Height, bg = 'white', )
      琐碎的方法包括pack(), palce(), create_rectangle()等等
      同时需要进行窗口的更新(否则贪吃蛇将会变成一条不动的咸鱼蛇)mainloop(), update(), after()
      这些后文都会涉及。
      准备工作做完,接下来就到了写bug的时间了!
    
  • 您还可以看一下 尹成老师的python GUI教程课程中的 复习tkinter小节, 巩固相关知识点
  • 以下回答来自chatgpt:

    我可以为您提供以下使用Python中tkinter列表框组件实现简易点单界面的全过程教程:

    1. 首先,导入tkinter模块和相关的组件:
    import tkinter as tk
    from tkinter import ttk
    
    1. 创建主窗口和标题,并设置窗口大小和布局方式:
    root = tk.Tk()
    root.title("点单界面")
    root.geometry("400x400")
    root.resizable(False, False)
    
    frame = ttk.Frame(root, padding=10)
    frame.pack(fill='both', expand=True)
    
    1. 创建列表框组件,并设置相关属性:
    # 创建列表框组件
    listbox = tk.Listbox(frame, height=10, width=30, selectmode=tk.MULTIPLE)
    
    # 添加选项
    listbox.insert(tk.END, "麻辣牛肉面")
    listbox.insert(tk.END, "红烧牛肉面")
    listbox.insert(tk.END, "原味兰州拉面")
    listbox.insert(tk.END, "椒麻鸡丝面")
    
    # 设置列表框风格
    style = ttk.Style()
    style.theme_use('clam')
    style.configure("TListbox", background="white", foreground="black", font=("宋体", 12))
    style.configure("TListbox.Item", background="white", foreground="black", font=("宋体", 12))
    
    # 将列表框添加到主窗口
    listbox.pack(fill='both', expand=True)
    
    1. 创建提交按钮,并设置相关属性和事件:
    # 创建提交按钮
    submit_btn = ttk.Button(frame, text="提交订单")
    submit_btn.pack(side=tk.BOTTOM)
    
    def submit():
        # 获取选中的选项
        selected_items = [listbox.get(idx) for idx in listbox.curselection()]
        # 打印选中的选项
        print(selected_items)
    
    # 将提交事件绑定到按钮上
    submit_btn.configure(command=submit)
    
    1. 运行主窗口:
    root.mainloop()
    

    完整代码如下:

    import tkinter as tk
    from tkinter import ttk
    
    root = tk.Tk()
    root.title("点单界面")
    root.geometry("400x400")
    root.resizable(False, False)
    
    frame = ttk.Frame(root, padding=10)
    frame.pack(fill='both', expand=True)
    
    listbox = tk.Listbox(frame, height=10, width=30, selectmode=tk.MULTIPLE)
    listbox.insert(tk.END, "麻辣牛肉面")
    listbox.insert(tk.END, "红烧牛肉面")
    listbox.insert(tk.END, "原味兰州拉面")
    listbox.insert(tk.END, "椒麻鸡丝面")
    
    style = ttk.Style()
    style.theme_use('clam')
    style.configure("TListbox", background="white", foreground="black", font=("宋体", 12))
    style.configure("TListbox.Item", background="white", foreground="black", font=("宋体", 12))
    
    listbox.pack(fill='both', expand=True)
    
    submit_btn = ttk.Button(frame, text="提交订单")
    submit_btn.pack(side=tk.BOTTOM)
    
    def submit():
        selected_items = [listbox.get(idx) for idx in listbox.curselection()]
        print(selected_items)
    
    submit_btn.configure(command=submit)
    
    root.mainloop()
    

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^