Python - >标签无法显示到框架

时间:2017-02-08 23:49:51

标签: python tkinter label frame

标签无法显示在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()

1 个答案:

答案 0 :(得分:1)

在这种特殊情况下,您看不到标签,因为它们不在屏幕上。 leftFrame的锚点为W,这意味着leftFrame的垂直中心位于0,0。换句话说,框架的一半位于窗口的可见部分之上。

快速修复以证明这一点是使用NW而不是W的锚点,这将导致框架的左上角位于其左上角父节点。

但是,我强烈建议您完全使用place。它有它的用途,但真的应该很少使用。您最终必须自己做很多工作,结果通常不会对字体,分辨率或窗口大小的变化做出很好的响应。