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

Python -> Labels cant be shown to Frame

标签无法显示在左框架中。我对 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()

在这种特殊情况下,您看不到标签,因为它们在屏幕之外。 leftFrame 有一个 W 的锚点,这意味着 leftFrame 的垂直中心在 0,0。换句话说,框架的一半在 window.

的可见部分之上

证明这一点的快速修复是使用 NW 的锚点而不是 W,这将导致框架的 upper-left 角位于 upper-left 其 parent 的一角。

但是,我强烈建议您不要 使用 place。它有它的用途,但实际上应该很少使用。您最终不得不自己做很多工作,结果通常对字体、分辨率或 window 大小的变化反应不灵敏。