tkinter - 向列表框添加更多新项目?
问题描述
使用 tkinter/python 我试图在按钮单击到列表框(tkinter)时添加一个项目,但在新的点击后只有一个被显示。
我创建列表框的代码是:
def add_to_list(data):
list = Listbox(frame1, width=40, height=4)
list.insert(END,data)
list.place(x=5, y=90)
Btn_Add_l = Button(frame1, text="Add", padx=8, pady=4, command=lambda: add_to_list("hello new item"))
更多点击按钮不添加新项目,可能是什么错误?
解决方案
每次按下按钮时,您都会不断创建新的列表框小部件。您必须创建 1 个列表框,并在按下按钮时插入数据,如下所示:
import tkinter as tk
def add_to_list(data):
listbox_widget.insert("end", data)
root = tk.Tk()
listbox_widget = tk.Listbox(root, width=40, height=4)
listbox_widget.pack()
command = lambda: add_to_list("hello new item")
button = tk.Button(root, text="Add", padx=8, pady=4, command=command)
button.pack()
root.mainloop()
推荐阅读
- git - 如何恢复到几个较旧的提交,包括合并,但在恢复提交的头部有一个提交?
- import - 在 google colab 中从 .pyx 文件导入
- python - 将字符串组转换为熊猫 DataFrame
- sql - 获取多对多表的 id
- ada - ada 指向局部变量编译和运行时错误的指针
- python - 使用 Kivy 应用程序进行费用跟踪...无法对齐网格布局
- c# - TwoFactorAuthenticatorSignInAsync 总是返回失败
- python - 用嵌套列表替换列表中的值
- java - 如何模拟用户对基于 Spring Security 的应用程序进行单元测试?
- c++ - 尝试声明列表迭代器时“找不到标识符”