找到了一种非常有趣的方法来在Tkinter GUI
-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)
menu = tk.Menu(root)
btn_menu = ttk.Menubutton(root, text='fegvd')
btn_menu.pack()
file = tk.Menu(btn_menu, tearoff=0, foreground='white')
file.add_command(label='ГЫГ')
style.configure('TMenubutton', background='black', foreground='white', indicatoron=0, menu=file, direction='delow', state='active')
root.mainloop()
尽管,如果我使用的不是ttk.Menubutton
,而是tk.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")
menu = tk.Menu(root)
btn_menu = tk.Menubutton(root, text='fegvd')
btn_menu.pack()
file = tk.Menu(btn_menu, tearoff=0, foreground='white')
file.add_command(label='ГЫГ')
btn_menu.configure(background='black', foreground='white', indicator=0, menu=file, state='active')
root.mainloop()
为什么?请告诉我,这是什么问题?
答案 0 :(得分:0)
您不能使用样式将菜单与菜单按钮关联。您需要完全像使用tk
菜单那样进行操作:
btn_menu.configure(menu=file)