我想要一个选项菜单中的一些项目有更多选项可供选择。我知道菜单和menubutton小部件,但这些不帮助我。我必须使用optionmenu
答案 0 :(得分:1)
一个选项菜单实际上只是一个menubutton和一个菜单,带有一点句法糖。
这是一个简单的例子,展示了如何在看起来像一个选项菜单的东西上有子菜单:
import tkinter as tk
root = tk.Tk()
var = tk.StringVar(value="one")
menubutton = tk.Menubutton(root, textvariable=var, indicatoron=True,
borderwidth=1, relief="raised", width=20)
main_menu = tk.Menu(menubutton, tearoff=False)
menubutton.configure(menu=main_menu)
for item in (("Numbers", "one", "two", "three"),
("Colors", "red", "green", "blue")
):
menu = tk.Menu(main_menu, tearoff=False)
main_menu.add_cascade(label=item[0], menu=menu)
for value in item[1:]:
menu.add_radiobutton(value=value, label=value, variable=var)
menubutton.pack(side="top", padx=20, pady=20)
root.mainloop()
如果您希望用户能够从每个子菜单中选择不同的值,您可以为每个菜单创建一个新的StringVar
。但是,您必须自己编写一些代码来更新按钮的标签。