Tkinter - 如何扩展标签小部件?
Tkinter - How can I extend a label widget?
图片下方。默认情况下,标签小部件的每一侧都有 3 个空白像素用于填充。我的问题是,我怎样才能将这个填充扩展到合适的大小?
在我的真实代码中,标签内容可以改变,所以这个填充,例如 5 像素,对于每种标签必须是相同的。
这是一个示例程序:
from tkinter import *
from tkinter import ttk
root = Tk()
root.geometry("400x300")
Frame1=Frame(root, background="#ffffff")
Frame1.place(x=16, y=16, width=200, height=150)
Canvas(Frame1, height=1, background="#a0a0a0", highlightthickness=0, highlightbackground="white").grid(row=0, column=0, columnspan=1, sticky="ew")
TestLabel=ttk.Label(Frame1, text="Ciaoooo", background="green", justify="left")
TestLabel.grid(row=0,column=0, sticky="w", padx=(20,20)) # the padding is trasparent! I want it with the same color of the label (green).
root.mainloop()
仅向 ttk 标签的一侧添加填充的正确方法是创建从默认样式派生的新样式。在新样式中,padding
选项采用最多包含左、上、右和下边缘四个值的列表。为右侧赋予 5
的值将为您提供所需的外观。
例如,要创建和使用名为“rpad.TLabel”的新样式,并且仅在右侧填充 5 个像素,它看起来像这样:
style = ttk.Style()
style.configure("rpad.TLabel", padding=(0,0,5,0))
...
TestLabel=ttk.Label(Frame1, style="rpad.TLabel", ...)
站点 tkdocs.com 有一些关于样式引擎如何工作的文档。
图片下方。默认情况下,标签小部件的每一侧都有 3 个空白像素用于填充。我的问题是,我怎样才能将这个填充扩展到合适的大小?
在我的真实代码中,标签内容可以改变,所以这个填充,例如 5 像素,对于每种标签必须是相同的。
这是一个示例程序:
from tkinter import *
from tkinter import ttk
root = Tk()
root.geometry("400x300")
Frame1=Frame(root, background="#ffffff")
Frame1.place(x=16, y=16, width=200, height=150)
Canvas(Frame1, height=1, background="#a0a0a0", highlightthickness=0, highlightbackground="white").grid(row=0, column=0, columnspan=1, sticky="ew")
TestLabel=ttk.Label(Frame1, text="Ciaoooo", background="green", justify="left")
TestLabel.grid(row=0,column=0, sticky="w", padx=(20,20)) # the padding is trasparent! I want it with the same color of the label (green).
root.mainloop()
仅向 ttk 标签的一侧添加填充的正确方法是创建从默认样式派生的新样式。在新样式中,padding
选项采用最多包含左、上、右和下边缘四个值的列表。为右侧赋予 5
的值将为您提供所需的外观。
例如,要创建和使用名为“rpad.TLabel”的新样式,并且仅在右侧填充 5 个像素,它看起来像这样:
style = ttk.Style()
style.configure("rpad.TLabel", padding=(0,0,5,0))
...
TestLabel=ttk.Label(Frame1, style="rpad.TLabel", ...)
站点 tkdocs.com 有一些关于样式引擎如何工作的文档。