python - 如果窗口失去焦点,配置 `ttk.Syle().configure` 的效果会丢失
问题描述
我有这个代码(或多或少的最小工作示例):
import tkinter as tk
from tkinter import ttk
class App(ttk.Frame):
def __init__(self, parent, *args, **kwargs):
ttk.Frame.__init__(self, parent)
self.parent = parent
# Create Treeview
self.tree = ttk.Treeview(self.parent, column=('A', 'B'), selectmode='none', height=7)
self.tree.pack(expand=True, fill='both', side='top')
ttk.Style().configure("Treeview", background="#1C1C1C", fieldbackground="#1C1C1C", foreground="white")
# Setup column heading
self.tree.heading('#0', text=' Items', anchor='center')
self.tree.heading('#1', text=' A', anchor='center')
self.tree.heading('#2', text=' B', anchor='center')
# Insert some rows
self.tree.insert('', 'end', text="First item", value=("A's value", "B's value"))
self.tree.insert('', 'end', text="Second item", value=("A's value", "B's value"))
if __name__ == '__main__':
root = tk.Tk()
root.geometry('900x600+300+300')
App(root)
root.mainloop()
请注意,我将背景颜色更改为近乎黑色的颜色,并将前景(字体颜色)更改为白色。
这种工作,除了一个细节,即当结果窗口没有焦点时,字体(前景)仍然显示为黑色,窗口几乎不可读。
像这样:
重点:
没有焦点:
这对我来说还不够好,因为有时人们希望在专注于另一个窗口的同时从一个窗口阅读。
但是,关于这个小部件的配置,也许这已经是最好的了。
还是我错过了什么?
解决方案
推荐阅读
- vb.net - 如何在没有 ICompare 的情况下对 Combobox 进行排序?
- php - 2 个函数之间的差异 [PHP]
- python - 在我为 pyspark 增加 spark.executor.memory 之后,它在它过去通过的地方崩溃了。我怎样才能度过这个难关?
- json - Angular 将 JSON 视为字符串而不是对象
- java - 如何修复“android相对布局中的某些小部件不出现”
- c# - 如果表行随搜索查询消失,如何等待搜索数据加载到表中?硒 c#
- php - 避免使用 DOMDocument::saveHTML 自动关闭打开的 HTML 元素
- typescript - 如何使 readline 在 Typescript 的循环中工作?
- django - 如何对合并的查询集进行排序 Django
- netsuite - 如何从子列表中读取项目数据