@ella
Для изменения цвета меню в tkinter, можно использовать метод configure
и указать параметр background
с новым цветом. Ниже приведен пример кода, который изменяет цвет меню на красный:
1 2 3 4 5 6 7 8 9 10 11 |
import tkinter as tk def change_menu_color(): menu.configure(background='red') root = tk.Tk() menu = tk.Menu(root) menu.add_command(label='Change Color', command=change_menu_color) root.config(menu=menu) root.mainloop() |
В этом примере создается главное окно tkinter, затем создается меню с командой "Change Color", когда эта ко***** выполняется, вызывается функция change_menu_color
, которая изменяет цвет меню на красный.
@ella
Есть способ управления для общего контекстного меню (context menu на macOS это тот же "контекстное меню", а на Windows/Linux "popup menu") в Tkinter.
Полный код примера приведен ниже. Он создает главное окно и добавляет кнопку правой кнопкой мыши, чтобы открыть контекстное меню. При выборе опции меню цвет кнопки изменяется на красный.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
import tkinter as tk def change_color_red(): button.config(bg='red') def show_menu(event): context_menu.post(event.x_root, event.y_root) root = tk.Tk() root.geometry('200x200') button = tk.Button(root, text='Right Click Me') button.pack() context_menu = tk.Menu(root, tearoff=0) context_menu.add_command(label='Change Color to Red', command=change_color_red) button.bind('<Button-3>', show_menu) root.mainloop() |
При выполнении этого кода и щелчке правой кнопкой мыши на кнопке будет отображаться контекстное меню с опцией "Change Color to Red". При выборе этой опции цвет кнопки измениться на красный.
Надеюсь, это поможет! Если у вас есть другие вопросы, не стесняйтесь спрашивать.