亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Tkinter - 只標記一個復選框

Tkinter - 只標記一個復選框

青春有我 2023-06-06 10:22:23
以下代碼允許用戶只選擇一個單選按鈕。例如,如果用戶選擇 Type II 按鈕,然后單擊 Type III 按鈕,則先前的選擇將消失。from tkinter import *root = Tk()radiobutton_variable = IntVar()Radiobutton(root, text="Type II",  variable = radiobutton_variable, value = 1).grid(row = 0, column = 0)Radiobutton(root, text="Type III", variable = radiobutton_variable, value = 2).grid(row = 0, column = 1)Radiobutton(root, text="Type IV",  variable = radiobutton_variable, value = 3).grid(row = 1, column = 0)Radiobutton(root, text="Type V",   variable = radiobutton_variable, value = 4).grid(row = 1, column = 1)mainloop()如果我對檢查按鈕小部件使用相同的代碼,我會收到錯誤消息:TclError: unknown option "-value"有人知道如何解決這個問題嗎?
查看完整描述

3 回答

?
鴻蒙傳說

TA貢獻1865條經驗 獲得超7個贊

這兩個小部件有不同的用途,應該相應地使用。

  • Radiobutton允許從相互排斥的列表中選擇一個選項。

  • Checkbutton允許從列表中選擇任意數量的選項。

Radiobutton像您一樣使用s 在這里是最合適的。

雖然毫無意義,但強制Checkbuttons 表現得像Radiobuttons 在技術上是可行的。
Checkbuttons 鏈接到同一個變量,但onvalue為每個變量設置一個唯一的。

import tkinter as tk


root = tk.Tk()


variable = tk.IntVar(root)


for onvalue in range(1, 5 + 1):

    checkbutton = tk.Checkbutton(

        root,

        onvalue=onvalue,

        variable=variable,

    )

    checkbutton.pack()


root.mainloop()


查看完整回答
反對 回復 2023-06-06
?
MMMHUHU

TA貢獻1834條經驗 獲得超8個贊

復選按鈕和單選按鈕有不同的選項,因為它們做不同的事情。

實例Checkbutton不支持value選項。相反,它有一個onvalueoffvalue選項,用于指定小部件打開或關閉時的值。小部件也Checkbutton需要有自己的獨特性。variable

如果您想限制用戶,使他們只能從多個值中選擇一個值,則Checkbutton使用 a 是錯誤的小部件。這正是 的用途Radiobutton。單選按鈕用于排他性選擇,復選按鈕用于多選。


查看完整回答
反對 回復 2023-06-06
?
慕尼黑5688855

TA貢獻1848條經驗 獲得超2個贊

如果您希望用戶只選擇一個復選框,則可以使用復選框。通過運行此代碼并選擇該選項,您就會明白這一點。我知道其他人已經回答了你的問題。但也許我的回答可以幫助某人。


from tkinter import *


root = Tk()

#Same variable but different values

radiobutton_variable = IntVar()

Radiobutton(root, text="Radiobutton only one", variable = radiobutton_variable, value = 1).grid(row = 0, column = 0)

Radiobutton(root, text="Radiobutton only one",  variable = radiobutton_variable, value = 2).grid(row = 0, column = 1)


#Same variable but different values

checkbutton_variable = IntVar()

Checkbutton(root, text="Checkbutton only one",   variable = checkbutton_variable, onvalue = 3).grid(row = 1, column = 0)

Checkbutton(root, text="Checkbutton only one",  variable = checkbutton_variable, onvalue = 4).grid(row = 1, column = 1)


#Same variable, same values or no value

#Select both radio button

both_select_radiobutton_variable = IntVar()

Radiobutton(root, text="radiobutton both", variable = both_select_radiobutton_variable).grid(row = 2, column = 0)

Radiobutton(root, text="radiobutton both",  variable = both_select_radiobutton_variable).grid(row = 2, column = 1)


#Same variable, same values or no value

#Select both check button

both_select_checkbutton_variable = IntVar()

Checkbutton(root, text="Checkbutton both", variable = both_select_checkbutton_variable).grid(row = 3, column = 0)

Checkbutton(root, text="Checkbutton both",  variable = both_select_checkbutton_variable).grid(row = 3, column = 1)


mainloop()


查看完整回答
反對 回復 2023-06-06
  • 3 回答
  • 0 關注
  • 188 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號