我有一个根窗口和一个顶层窗口,我想把东西放在顶层窗口的一个框架中。但是,框架(而不是其中的标签)将显示在根窗口中。你知道吗
窗口截图。你知道吗
from tkinter import *
root = Tk()
Label(root, text="label1").pack()
newWindow = Toplevel(root)
Label(newWindow, text="label2").pack()
frame2 = Frame(newWindow).pack()
Label(frame2, text="framelabel2").pack()
root.mainloop()
在这种情况下,您不需要两个帧,只需使用
grid
来对齐标签:column
、row
格式也使其更易于阅读&您还可以使用其他选项,如padx
、pady
、sticky
,以提高设计的灵活性。你知道吗您可以进一步了解
grid
here。你知道吗您需要将
frame2
打包到如下新行:将
framelabel2
标签放在根窗口上的原因是frame2
being==toNone
,因为pack()
返回None
。因为您试图将小部件打包到None
,所以kinter将该小部件默认为根窗口,以尝试将该小部件放置在某个地方。你知道吗简单的解决方法是确保在定义框架或任何容器时总是在新行上执行
pack()
、grid()
或place()
。你知道吗相关问题 更多 >
编程相关推荐