Можно ли изменить цвет рамки меню в ткинтере - PullRequest
2 голосов
/ 03 ноября 2019

Я хочу изменить цвет рамки выпадающего меню.

menu when dark theme белая тема: enter image description here

Использование Python 3.7 и tkinter - мое приложение с графическим интерфейсом предлагает как темные, так и светлые темы, поэтомуЯ меняю цвета фона и переднего плана динамически. Мне удалось сделать это для большинства виджетов, но я не нашел способа изменить цвет рамки для элементов раскрывающегося меню.

Вот пример фрагмента определения file_menu:

self.menubar = tk.Menu(self)
self.file_menu = tk.Menu(self.menubar, tearoff=0)
self.file_menu.add_command(label="New", image=self.mnu_16_new, compound = tk.LEFT, command=self.file_new, accelerator="Ctrl+N", underline=0)
self.file_menu.add_command(label="Open", image=self.mnu_16_opn, compound = tk.LEFT, command=self.file_open, accelerator="Ctrl+O", underline=0)        

и здесь, как я изменяю цвета пунктов меню (self.all_menubars - это список всех пунктов меню, включая file_menu выше)

for menu_item in self.all_menubars:
    menu_item.config(background=self.c_bg, foreground=self.c_fg, 
                     activebackground=self.c_sb, activeforeground=self.c_fg, 
                     selectcolor=self.c_fg, disabledforeground=sel_color)

, а self.c_fg, self.c_sb и т. Д. Являются переменными цвета.

...