這個問題很簡單,我創建了一個使用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