繁体   English   中英

python tkinter listbox:添加项目

[英]python tkinter listbox: adding items

在程序启动时,我将一些项目添加到列表框中,如下所示:

for widget in WidgetNames:
    listbox.insert(0, widget)

WidgetNames显然是一些项目的列表,例如“ Button”和“ Canvas”。 问题是,列表框不显示使用上述代码添加的项目。 然而,

for widget in WidgetNames:
    listbox.insert(0, widget)
    print(listbox.get(0))

打印“按钮”和“画布”,以及

for widget in WidgetNames:
    listbox.insert(0, widget)
print(listbox.size())

打印2,这显然是其中包含的正确项目数。 添加项目后显示的所有列表框为空行。 我已经尝试过listbox.see(0)和listbox.index(0),但这没有帮助。 有什么想法为什么不能正确添加项目?

您所显示的代码不是问题,它必须是您显示的其他代码。 请尝试使用尽可能小的指南针重现您的问题,然后编辑您的答案以包含最少的代码。 这是一个小脚本,用于说明您显示的代码实际上是可以的:

from Tkinter import *

master = Tk()
listbox = Listbox(master)
listbox.pack()

WidgetNames = ['Button', 'Canvas']
for widget in WidgetNames:
    listbox.insert(0, widget)

mainloop()

这段代码可以在我的机器上正常运行(Ubuntu 10.4,Python 2.6),并且完全按预期显示了这两个项目(第一个是“画布”)。 如果这个行为你的盒子那样,请编辑您的答案提供有关上述箱;-)的微小细节的。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM