这个问题很简单,我创建了一个使用window_create
。这里一个文本小很多复选框是代码:如何在tkinter中用SHIFT选择多个复选框?
import tkinter as tk
root = tk.Tk()
sb = tk.Scrollbar(orient="vertical")
text = tk.Text(root, width=40, height=20, yscrollcommand=sb.set)
sb.config(command=text.yview)
sb.pack(side="right",fill="y")
text.pack(side="top",fill="both",expand=True)
for i in range(30):
cb = tk.Checkbutton(text="checkbutton %s" % i,padx=0,pady=0,bd=0)
text.window_create("end", window=cb)
text.insert("end", "\n")
root.mainloop()
,这里是什么样子:
我想选择多个复选框,如果我必须单击每个复选框,这很麻烦。那么有没有办法可以在这里使用SHIFT?
取而代之的绑定,您曾经考虑加入“全选”和“取消选择所有”按钮做同样的事情?大多数用户永远不会意识到他们可以通过点击来选择全部,而且您不能依赖他们阅读用户指南。 – 2013-03-26 10:50:43
是的,我的计划中添加了“全选”和“反选”按钮。但有时使用“shift-select”会更好,例如您想选择几个复选框。 – laike9m 2013-03-26 12:37:26
@BryanOakley你可以看看所选的答案吗?如果在'self.chkbuttons [sl]中更改cb: cb.toggle()'到'map(tk.Checkbutton.toggle,self.chkbuttons [self.start + 1:end])'它将不起作用,我不知道为什么.Thx! – laike9m 2013-03-27 01:41:14