您创建一个初始根窗口,然后创建多个小部件(例如标签、按钮、事件)。

您必须将它们中的每一个打包,并且可以通过我所知道的几种方式进行打包。

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/

10-12 18:33