【发布时间】:2016-05-26 11:20:55
【问题描述】:
我正在尝试制作一个 tkinter 标签,其中包含由像素尺寸定义的宽度和高度的文本。很明显,包含文本大小的标签小部件是根据 docs 中的文本大小定义的:
如果标签显示文本,则以文本单位给出大小。如果标签显示图像,则大小以像素(或屏幕单位)为单位。如果 size 设置为 0 或省略,则根据标签内容计算。
我已经尝试使用这些信息来实现我想要做的事情。在创建时间表应用程序时,我想创建固定宽度 700 和可变高度的标签。这是我迄今为止尝试过的一个示例:
import tkinter as tk
root = tk.Tk()
root.geometry("800x600")
height = 20
label = tk.Label(root,width=700,bg="white",text="test",borderwidth=0,font=("Calibri",height))
label.place(x=10,y=10)
root.mainloop()
这几乎在高度方面达到了我想要的,但是我希望height = 1时高度为1像素,但实际上是5像素(我的视力很好!)。至于宽度,它完全不在屏幕上,是字符宽度的 700 倍。
使用单个框架作为每个“标签”,然后创建标签小部件作为这些框架的子级也不起作用,因为框架只是调整大小以适合标签。 我的问题是:有没有办法创建按像素尺寸大小的包含文本的标签?
【问题讨论】:
-
由于标签中有文字,700 表示“700 个字符宽”
-
@BryanOakley 我知道,我在我的问题中确实说过:“它是字符宽度的 700 倍”。另外,我已经回答了我自己的问题,请随时投票!
标签: python python-3.x tkinter label