【发布时间】:2020-10-06 20:52:57
【问题描述】:
在图片下方。默认情况下,标签小部件在每一侧放置 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()
【问题讨论】:
-
如果你想要像素完美的测量,然后把它放在一个面板中并设置它的大小。或者只是不使用 Tkinter 而是使用 C# Winforms
-
请出示minimal reproducible example,说明您是如何创建图像的。另外,请展示您已经尝试过的内容。标签小部件记录了填充选项,命令
grid和pack也是如此。 -
@Bryan Oakley: ciao Bryan,它只是 ttk 模块中的一个标签小部件。从我的角度来看,没有必要举一个例子,或者至少现在还没有。我已经尝试为网格几何管理器使用“padx=(0, 5)”选项,但是这个填充是不可见的(它是透明的)。我想要一个与标签背景颜色相同的填充。有可能吗?如果我的问题很简单,请给我答案。我已经在网上搜索过,不幸的是我不是设计专家..
-
如果没有minimal reproducible example,我们无法知道它是一个 ttk 标签。代码比代码描述有用得多。
-
@Bryan Oakley:我写了一个例子。正如我已经告诉过你的,填充是透明的,对我不利。