簡體   English   中英

如何更改 ttk.Separator 顏色

[英]How to change ttk.Separator color

我有一個 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 像素的白線。 Plase,你知道我怎么能擺脫它嗎?

截圖

不幸的是,您無法擺脫 1 像素白線,為 ttk 分隔符配置的唯一可用選項是background選項。 您可以通過找到 Separator 的布局然后列出其所有配置選項來看到這一點,如下所示

s = ttk.Style()
print(s.layout('TSeparator')) # [('Separator.separator', {'sticky': 'nswe'})]
print(s.element_options('Separator.separator')) # ('-orient', '-background')

如果您將背景顏色設置為黑色以外的其他顏色,您會看到這個 1 像素的邊框並不總是白色,而是與所選的背景顏色有關,無論是較淺還是較深的陰影。

最可行的解決方法是簡單地插入所需寬度的樣式Frame (ttk 或常規 tkinter),而不是使用分隔符

我知道這是一篇舊帖子,但我遇到了同樣的問題並找到了解決方法。 當我創建一個 1 像素高的tkinter.Frame並沿 x 軸拉伸它時,我得到了一個看起來像ttk.Separator 示例:

import tkinter as tk

root = tk.Tk()

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

root.mainloop()

分隔符的顏色由其bg關鍵字控制。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM