标签无法显示在leftFrame中。我是Python GUI的新手。我的代码有点像这样:
from tkinter import *
root = Tk()
mainFrame = Frame(root, width=700, height=500)
mainFrame.pack()
leftFrame = Frame(mainFrame, bg="#c2c3c4")
leftFrame.place(relheight=1, relwidth=0.34, anchor=W)
label1 = Label(leftFrame, text="Label1")
label2 = Label(leftFrame, text="Label2")
label1.grid(columnspan=2, sticky=W, pady=(20, 0))
label2.grid(columnspan=3, sticky=W, pady=(5, 0))
root.mainloop()
答案 0 :(得分:1)
在这种特殊情况下,您看不到标签,因为它们不在屏幕上。 leftFrame
的锚点为W
,这意味着leftFrame
的垂直中心位于0,0。换句话说,框架的一半位于窗口的可见部分之上。
快速修复以证明这一点是使用NW
而不是W
的锚点,这将导致框架的左上角位于其左上角父节点。
但是,我强烈建议您不完全使用place
。它有它的用途,但真的应该很少使用。您最终必须自己做很多工作,结果通常不会对字体,分辨率或窗口大小的变化做出很好的响应。