我有一个 ttk.Separator 小部件,我希望它是全黑的。我使用 ttk.Style() 如下
import Tkinter as TK
import ttk
self.line_style = ttk.Style()
self.line_style.configure("Line.TSeparator", background="#000000")
self.line = ttk.Separator(self.tk, orient=TK.VERTICAL, style="Line.TSeparator")
self.line.place(x = 1250,y = 0, height = self.tk.winfo_screenheight(), width = 8)
分隔符是黑色的,8像素宽,但左侧有一条1像素的白线。请问,你知道我怎样才能摆脱它吗?
最佳答案
不幸的是,您无法摆脱 1 像素白线,配置 ttk 分隔符的唯一可用选项是 background
选项。
您可以通过查找分隔符的布局然后列出其所有配置选项来查看这一点,如下所示
s = ttk.Style()
print(s.layout('TSeparator')) # [('Separator.separator', {'sticky': 'nswe'})]
print(s.element_options('Separator.separator')) # ('-orient', '-background')
如果您将背景颜色设置为黑色以外的颜色,您会发现这个 1 像素边框并不总是白色,而是与所选的背景颜色(较浅或较深的阴影)有关。
最可行的解决方法是简单地插入所需宽度的样式化Frame
(ttk或常规tkinter),而不是使用分隔符
关于python - 如何更改 ttk.Separator 颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37695974/