как открыть Меню привязанное к ttk.Menubutton при наведении на него?

Хотел сделать кастомную строку меню в Tkinter, но т.к. ее настроить было нельзя, пришлось делать костыли. Я сделал кастомное меню из Frame, Button и Menubutton. Но встретился с небольшой проблемой - не могу открыть Меню при наведении на ttk.Menubutton. То есть мне надо чтобы при наведении на Menubutton открывалось Меню, привязанное к данной кнопке(имитировалось нажатие на Menubutton). Как такое можно реализовать?

Минимально рабочий код

import tkinter as tk
from tkinter import ttk

root = tk.Tk()

root.option_add("*Menu.borderWidth", "0")
root.option_add("*Menu.activeBorderWidth", "0")
root.option_add("*Menu.background", "black")


style = ttk.Style(root)

fr = ttk.Frame(root)

btn_menu = ttk.Menubutton(fr, text='fegvd')
btn_menu.grid(row=0, column=0)

btn =ttk.Button(fr, text='grfbvgfev')
btn.grid(row=0, column=1)

btn_menu_st = ttk.Menubutton(fr, text='Gds')
btn_menu_st.grid(row=0, column=2)

fr.pack(fill='x')


file = tk.Menu(btn_menu, tearoff=0, foreground='white')
file.add_command(label='ГЫГ')

style = tk.Menu(btn_menu_st, tearoff=0, foreground='white')
style.add_command(label='Ugu')

btn_menu.configure(menu=file)
btn_menu_st.configure(menu=style)


root.mainloop()

Ответы (1 шт):

Автор решения: splash58

Чтобы сымитировать нажатие можно вызвать event_generate('<<Invoke>>')) на нужном вижджете

btn_menu.bind("<Enter>", lambda e: e.widget.event_generate('<<Invoke>>'))
→ Ссылка