python - 如何更改 ttk.Separator 颜色

标签 python tkinter

我有一个 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像素的白线。请问,你知道我怎样才能摆脱它吗?

screenshot

最佳答案

不幸的是,您无法摆脱 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/

相关文章:

python - Flask Jinja 路线

python - 有没有办法(或库)在 tkinter 中进行平滑的颜色过渡?

python - 在 tkinter 中使用 sys.stdout.write ("\r...")

python - 如何在 Tkinter 中循环显示 jpg 的子文件夹?

python-3.x - Tkinter 对象从错误的线程被垃圾收集

python - 如何使用 python Tkinter 将 matplotlib 图形嵌入到弹出窗口中

python - Mac OS X 10.10.3 上 Python 2.7.9 中的神秘无限循环

python - 在 yticks 位置绘制表格

python - 为什么我的解析器无法正确理解 “numb=”?

python - 圆形 QGraphicsView