Python 如何为tkinter应用程序完全设置背景色和文本颜色?
我正在尝试用Python和Tkinter制作一个文本编辑器。文本编辑器功能运行良好,但我想为我的应用程序添加一个暗模式。经过一点研究,我可以切换文本输入区域的背景色和文本的颜色,但是顶部栏的背景色没有改变,顶部栏有“保存文件”、“打开”和“关于”,我不知道如何改变它。研究对我没有帮助Python 如何为tkinter应用程序完全设置背景色和文本颜色?,python,python-3.x,tkinter,Python,Python 3.x,Tkinter,我正在尝试用Python和Tkinter制作一个文本编辑器。文本编辑器功能运行良好,但我想为我的应用程序添加一个暗模式。经过一点研究,我可以切换文本输入区域的背景色和文本的颜色,但是顶部栏的背景色没有改变,顶部栏有“保存文件”、“打开”和“关于”,我不知道如何改变它。研究对我没有帮助 from tkinter import * from tkinter import scrolledtext from tkinter import filedialog from tkinter import m
from tkinter import *
from tkinter import scrolledtext
from tkinter import filedialog
from tkinter import messagebox
import sys
index = 0
def dark_mode():
global index
if index:
text.config(background = "white", fg = "black")
file_menu.config(background=‘white’, fg=“black”)
else:
text.config(background = "black", fg = "white")
file_menu.config(background=“black”, fg=“white”)
index = not index
root_win = Tk()
root_win.geometry("640x480")
root_win.title("Text Editor")
main_menu = Menu(root_win)
root_win.config(menu = main_menu)
file_menu = Menu(main_menu)
main_menu.add_cascade(label="File", menu = file_menu)
file_menu.add_command(label="Dark/Light Mode", command = dark_mode)
text = scrolledtext.ScrolledText(root_win, width = 80, height = 30)
text.pack(fill = "both", expand = "yes")
root_win.mainloop()
我将提供一个屏幕截图:
它的主体文本区域将变为黑色,但文件菜单/栏区域不会变为黑色。有什么帮助吗
无法在Windows或OSX上更改菜单栏的颜色。可能吧
在linux上的一些窗口管理器上是可能的,尽管我不知道是什么原因
当然
原因是菜单栏是使用本机小部件绘制的
不由tkinter管理,因此您仅限于平台
允许