python-3.x - 如何在不使用 Tkinter 中的 Entry 小部件的情况下制作一个按钮,当按下它时将产品名称显示到 Text 小部件
问题描述
我试图为一家汉堡店制作一个 POS,当我按下一个产品按钮时,它会在不使用条目小部件的情况下将产品名称显示到收货区域,这是文本小部件
这是我的示例代码
from tkinter import *
root = Tk()
root.title('Login')
root.geometry('759x500+300+180')
root.resizable(0,0)
def receipt():
item1 = Burger
txt.insert(0.0, item1)
product1 = Button(root, text="Burger", borderwidth=2, padx=50, pady=40, command=receipt)
product1.pack()
txt = Text(root, width=30, height=20)
txt.pack()
root.mainloop()
谢谢你
对不起一个简单的问题我只是一个初学者
解决方案
首先,您应该将产品传递给receipt()
函数,因为您可能有多个产品要添加到文本框中。
第二个建议使用Listbox
,而不是Text
:
from tkinter import *
root = Tk()
root.title('Login')
root.geometry('+300+180')
root.resizable(0,0)
def receipt(item):
lstbox.insert('end', item)
button_frame = Frame(root)
button_frame.pack(side='left', fill='y')
products = ["Burger", "Apple Pie"]
for product in products:
btn = Button(button_frame, text=product, width=15, height=3, borderwidth=2,
command=lambda p=product: receipt(p))
btn.pack()
lstbox = Listbox(root, width=30, height=20, activestyle='none')
lstbox.pack(side='right')
root.mainloop()
推荐阅读
- python - 当我尝试导入我所做的模块时未找到模块错误
- python - 是否可以使用 Django 在同一个视图中读取和更新?
- rust - 如何将 wasm 特定的宏与函数和结构分离
- azure-devops - Databricks API 2.0 - 无法使用 SPN 凭据创建 KEYVAULT 机密范围
- qt - 如何创建能够嵌套其他组件的组件
- github - GitHub 工作流程中的条件运行步骤
- node.js - package.json - 禁止在包源中使用某些文件名
- python - 将从 API 接收到的 png 格式文本转换为 png 文件 - python
- opencv - OpenCV:如何使灰色文本变暗?
- excel - 从工作簿导入数据并更改范围