tkinter和python相当新,我想知道如何实现一个像这样的按钮:
更新
按钮/ menuButton必须像过滤器一样。当菜单被放下时,用户可以取消选中多个选项(每次点击一个项目时菜单都不会消失)他不想要。因此,能够查看复选框以便用户知道哪些选项当前处于活动状态非常重要。
我终于通过创建顶级框架来使用布莱恩的想法。这就是我所拥有的:
答案 0 :(得分:2)
没有小工具可以做你想要的。您必须使用一堆检查按钮创建一个顶层窗口。然后,您可以使用普通按钮触发外观。
答案 1 :(得分:1)
我不认为OptionMenu
除了字符串之外还有其他东西。听起来您想要Listbox的功能,它具有允许多项选择的选项,获取所有选定的项目,等等。
这会在包含的菜单中为您提供OptionMenu
复选框。检查您喜欢的项目,然后在tkinter窗口中右键单击以将复选框的值打印到控制台。
from tkinter import *
master = Tk()
var = StringVar(master)
var.set("Check")
w = OptionMenu(master, variable = var, value="options:")
w.pack()
first = BooleanVar()
second = BooleanVar()
third = BooleanVar()
w['menu'].add_checkbutton(label="First", onvalue=True,
offvalue=False, variable=first)
w['menu'].add_checkbutton(label="Second", onvalue=True,
offvalue=False, variable=second)
w['menu'].add_checkbutton(label="Third", onvalue=1,
offvalue=False, variable=third)
master.bind('<Button-3>', lambda x: print("First:", first.get(), " Second:",
second.get(), " - Third:", third.get()))
mainloop()
另见this。