您创建一个初始根窗口,然后创建多个小部件(例如标签、按钮、事件)。
您必须将它们中的每一个打包,并且可以通过我所知道的几种方式进行打包。
Button(root, text="Button1", command=something).pack()
或者
btn1 = Button(root, text="Button1", command=something)
btn1.pack()
是否可以使用 for 循环和 显式命名项目 ,在没有 的情况下一次性打包分配给“root”的多个小部件 ,如下所示:
for item in [btn1, btn2, label1, label2]:
item.pack()
最佳答案
您可以使用 root.children
将所有按钮和标签添加到该父元素,然后为这些调用 pack
函数。 children
是一个字典,将 ID 映射到实际元素。
root = Tk()
label1 = Label(root, text="label1")
button1 = Button(root, text="button1")
label2 = Label(root, text="label2")
button2 = Button(root, text="button2")
for c in sorted(root.children):
root.children[c].pack()
root.mainloop()
这将
pack
所有这些按钮和标签从上到下,按照它们添加到父元素的顺序(由于 sorted
)。但是请注意,它的用处相当有限,因为通常您不会将所有小部件放在一列中。关于python - 您可以一次打包多个 Tkinter 小部件而不是单独打包它们吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25328787/