首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何更改ttk.Separator颜色

如何更改ttk.Separator颜色
EN

Stack Overflow用户
提问于 2016-06-08 15:30:33
回答 2查看 3.4K关注 0票数 3

我有一个ttk.Separator小工具,我希望它是全黑的。我使用了ttk.Style(),如下所示

代码语言:javascript
复制
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像素的白线。求求你,你知道我怎么才能摆脱它吗?

EN

回答 2

Stack Overflow用户

发布于 2017-06-28 02:10:31

不幸的是,你不能去掉1像素的白线,配置ttk Separator的唯一可用选项是background选项。您可以通过查找Separator的布局,然后按如下方式列出其所有配置选项来查看这一点

代码语言:javascript
复制
s = ttk.Style()
print(s.layout('TSeparator')) # [('Separator.separator', {'sticky': 'nswe'})]
print(s.element_options('Separator.separator')) # ('-orient', '-background')

如果你将背景颜色设置为黑色以外的颜色,你会看到这个1像素的边框并不总是白色的,但在某种程度上与所选的背景颜色有关,可以是浅色调,也可以是深色。

最可行的解决方法是简单地插入所需宽度的样式Frame (ttk或常规tkinter),而不是使用分隔符

票数 2
EN

Stack Overflow用户

发布于 2021-02-24 05:57:04

我知道这是一个老帖子,但我也有同样的问题,并想出了一个解决办法。当我创建一个1像素高的tkinter.Frame并沿着x轴拉伸它时,我得到了一个看起来像ttk.Separator的东西。示例:

代码语言:javascript
复制
import tkinter as tk

root = tk.Tk()

separator = tk.Frame(root, bg="blue", height=1, bd=0)
separator.pack(fill="x")

root.mainloop()

分隔符的颜色由其bg关键字控制。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37695974

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档