Tkinter - LabelFrame 的右边框在添加标签的位置断开
Tkinter - Right border of LabelFrame broken where label is added
我创建了一个从 csv 文件收集信息并将一些数据存储到 Tkinter 标签中的应用程序。标签位于标签框架内,由于某种原因,标签框架的右边框在显示标签文本的行上断开。我是 运行 Windows 系统上的应用程序。
重现相同问题的简约示例:
from tkinter import *
root = Tk()
testFrame = LabelFrame(root, text='Test Step', width=250, height=100)
testFrame.grid(row=0, column=0, padx=20, pady=20)
testLabel = Label(testFrame, text='Random text', wraplength=245, anchor=W)
testLabel.place(x=5, y=20, width=250)
root.mainloop()
您明确要求标签的宽度为 250 像素。框架的宽度也是 250 像素。当您使用 place
时,小部件可以重叠其父级的边框,因此由于标签向左偏移,它将重叠在右侧。
如果将标签的背景设置为与众不同的颜色,您会看到:
...
testLabel = Label(..., bg="pink")
...
如果你正在学习 tkinter,我强烈建议不要使用 place
。 grid
和 pack
非常出色地确保您的小部件完全适合彼此并适合 window。
我创建了一个从 csv 文件收集信息并将一些数据存储到 Tkinter 标签中的应用程序。标签位于标签框架内,由于某种原因,标签框架的右边框在显示标签文本的行上断开。我是 运行 Windows 系统上的应用程序。
重现相同问题的简约示例:
from tkinter import *
root = Tk()
testFrame = LabelFrame(root, text='Test Step', width=250, height=100)
testFrame.grid(row=0, column=0, padx=20, pady=20)
testLabel = Label(testFrame, text='Random text', wraplength=245, anchor=W)
testLabel.place(x=5, y=20, width=250)
root.mainloop()
您明确要求标签的宽度为 250 像素。框架的宽度也是 250 像素。当您使用 place
时,小部件可以重叠其父级的边框,因此由于标签向左偏移,它将重叠在右侧。
如果将标签的背景设置为与众不同的颜色,您会看到:
...
testLabel = Label(..., bg="pink")
...
如果你正在学习 tkinter,我强烈建议不要使用 place
。 grid
和 pack
非常出色地确保您的小部件完全适合彼此并适合 window。