tkFileDialog asksaveasfile文本颜色/字体

时间:2018-12-06 16:10:28

标签: python-2.7 tkinter

我正在使用tkFileDialog中的asksaveasfile函数通过正在创建的GUI保存文件。我想在对话框saveas窗口中更改字体的颜色。搜寻互联网,但我还没有发现有人问同样的事情。

1 个答案:

答案 0 :(得分:0)

免责声明:我正在使用Linux,并且由于Windows中的文件对话框看起来完全不同,因此我不确定我的答案是否完全适用于其他平台。

由于字体的一部分已在tcl代码中进行硬编码,因此无法完全更改字体的颜色。

文件列表周围的元素主要是ttk小部件,可以通过ttk.Style进行主题设置,使其看起来与应用程序的其余ttk小部件类似。可以使用option_add更改菜单。 但是,文件列表不是可定制的。确实,未选择时文件名会重新设置为黑色,因此无法从python更改该行为。

import tkinter as tk
from tkinter import filedialog
from tkinter import ttk


root = tk.Tk()
root.option_add('*foreground', 'red')  # set all tk widgets' foreground to red
root.option_add('*activeForeground', 'red')  # set all tk widgets' foreground to red

style = ttk.Style(root)
style.configure('TLabel', foreground='red')
style.configure('TEntry', foreground='red')
style.configure('TMenubutton', foreground='red')
style.configure('TButton', foreground='red')
filedialog.askopenfilename(master=root, filetypes=[('*', '*'), ('PNG', '*.png')])
root.mainloop()

screenshot