0
A
回答
0
請勿使用複選框;改用radoibuttons。複選框和單選按鈕的行爲已經確立 - 複選框允許您選擇N個選項中的N個,單選按鈕的設計允許您精確選擇1個N.不要違反此設計模式,否則用戶會感到困惑。
要使單選按鈕正常工作,請創建一個StringVar並將其與兩個或更多單選按鈕相關聯。所有共享相同變量的單選按鈕將作爲一個集合工作,只允許選擇一個。
0
雖然OP沒有說明,但如果您正在進行多項選擇測驗,則某些問題可能需要特定的複選框互斥。或者,要求用戶最多選擇N個複選框中的M個,並且在問題中具體說明了這一要求,以便用戶理解設計模式。要做到這一點,你可以採取Checkbuttons回調選項的優勢:
from Tkinter import *
master = Tk()
choices = [IntVar() for x in range(4)]
now = None
buttons = None
def cb():
global now, buttons
if None != now:
buttons[now].deselect()
vals = [choices[i].get() for i in range(4)]
try: now = vals.index(1)
except ValueError: now = None
print "variables are",str([choices[i].get() for i in range(4)])
buttons = [Checkbutton(master, text="Choice "+str(i), variable=choices[i], command=cb) for i in range(4)]
for b in buttons: b.pack()
mainloop()
這個例子回答OP的具體問題,但可以進一步擴展做出的複選框,在特定情況下的操作合法的變化。
相關問題
- 1. 驗證複選框用javascript打勾
- 2. 確保至少有一個複選框被勾選了多組複選框?
- 3. 勾選複選框
- 4. UncheckAll /勾選複選框時,另一個複選框被選中
- 5. 如果勾選複選框,啓用驗證規則
- 6. 如何勾選其他複選框時禁用複選框?
- 7. 默認勾選一個複選框html
- 8. 複選框::一次只能選一個
- 9. 可能允許用戶只選擇一個複選框(引導複選框-x)?
- 10. 我怎樣才能保存勾選的複選框
- 11. 如何確保至少1個複選框與jQuery驗證
- 12. bootbox type複選框:只有一個選項選擇驗證
- 13. 我想驗證該用戶只能在列表視圖中的每一行中只選擇一個複選框
- 14. 表單驗證 - 確保至少選中1個複選框
- 15. jquery驗證:讓用戶只選擇一個選擇框
- 16. jQuery複選框驗證alt複選框
- 17. 我如何驗證複選框?
- 18. 只選一個複選框
- 19. Datagridview複選框列只允許我選擇一個複選框
- 20. 勾選其他複選框時,選中一個框
- 21. Ruby on Rails:驗證用戶選擇了一個複選框
- 22. 默認勾選複選框
- 23. 已勾選複選框值
- 24. htmlunit:未勾選複選框
- 25. 默認勾選複選框
- 26. 通過勾選複選框
- 27. 如果未勾選複選框,如何顯示Javascript確認框,然後如果用戶選擇取消,請勾選複選框?
- 28. 複選框驗證
- 29. 驗證複選框
- 30. 複選框驗證
任何你不想使用單選按鈕的理由? –
@BhajunSingh - 擊敗我:( –