我刚刚开始使用Tkinter,而且我有一个非常简单的问题让我疯狂。我试图在标签框架内放置一个按钮。这是一个非常简单的任务,有很多在线教程。只需创建按钮并将框架指定为父级。然后使用pack命令将窗口小部件打包到其父窗口中。但是,当我这样做时,按钮 - 或任何小部件 - 总是在父级之下。无论我使用pack还是grid,子窗口小部件总是在它下面。 Refer to this image
from tkinter import *
application = Tk()
lblframe = LabelFrame(application, width=300, height=300, text="Test", bd=10).pack()
btn = Button(lblframe, text="Button 1").pack()
application.mainloop()
答案 0 :(得分:1)
pack()
返回的值为None。因此,您要指定lblframe
来保存None值,因此在创建Button小部件时,它将None作为父级传递。这导致它的父级应用程序最大化你所看到的打包(两个小部件被打包到同一个容器中)。如果您单独进行创建和包装,它将按预期工作,例如:
from tkinter import *
application = Tk()
lblframe = LabelFrame(application, width=300, height=300, text="Test", bd=10)
btn = Button(lblframe, text="Button 1")
lblframe.pack()
btn.pack()
application.mainloop()