Python 2.7 tkFileDialog asksaveasfile文本颜色/字体

Python 2.7 tkFileDialog asksaveasfile文本颜色/字体,python-2.7,tkinter,Python 2.7,Tkinter,我正在使用tkFileDialog中的asksaveasfile函数来使用我正在创建的GUI保存文件。我想在“另存为”对话框窗口中更改字体的颜色。在互联网上搜索,我没有发现有人问同样的问题。免责声明:我使用的是Linux,我不确定我的答案是否完全适用于其他平台,因为Windows中的文件对话框看起来很不一样 不可能完全更改字体的颜色,因为部分字体是在tcl代码中硬编码的 文件列表周围的元素主要是ttk小部件,它们可以通过ttk.Style设置主题,这样它们看起来就像应用程序中的其他ttk小部件。

我正在使用tkFileDialog中的asksaveasfile函数来使用我正在创建的GUI保存文件。我想在“另存为”对话框窗口中更改字体的颜色。在互联网上搜索,我没有发现有人问同样的问题。

免责声明:我使用的是Linux,我不确定我的答案是否完全适用于其他平台,因为Windows中的文件对话框看起来很不一样

不可能完全更改字体的颜色,因为部分字体是在tcl代码中硬编码的

文件列表周围的元素主要是ttk小部件,它们可以通过
ttk.Style
设置主题,这样它们看起来就像应用程序中的其他ttk小部件。可以使用
选项\u 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()

这太完美了,我试试看。由于各种原因,环境文本颜色默认设置为白色。在对话框窗口中,当一个文件被取消选中时,它会变成黑色,就像你提到的那样,但黑色是我想要的颜色。我在一个2.4和2.7版本的系统上运行gui。gui是用tix编码的(故意的),我不认为filedialog实际上是在为ttk提取环境设置。仅安装了2.4的系统不会出现此问题,因为我认为它仅从tix拉取环境。此外,如果您想专门针对文件/文件夹列表,您可以使用模式
*TkFDialog*前台
*TkChooseDir*前台
稍微偏离主题,但我发现您是的维护者,我想知道它是否允许您更改文本的字体大小?在tkinter中,我可以使用:
style.configure('.',font=(None,12))
更改TCL中除文本以外的所有内容的字体大小,这包括列表中的
TLabel
TButton
,等等。当我找到解决方案时,我刚问起:
default\u font=font.nametofont(“TkTextFont”)
然后:
default\u font2=font.nametofont(“TkIconFont”)
然后:
default\u font.configure(size=12)
最后:
default\u font2.configure(size=12)