Python 按下另一个单选按钮后禁用和取消选择单选按钮
我正在使用Python编写一个简单的数字系统转换器,并将Tkinter用于GUI。我试图让它像这样工作:Python 按下另一个单选按钮后禁用和取消选择单选按钮,python,python-3.x,tkinter,Python,Python 3.x,Tkinter,我正在使用Python编写一个简单的数字系统转换器,并将Tkinter用于GUI。我试图让它像这样工作: 用户从:“侧”按“十进制”收音机打开,“十进制”收音机打开”到:“侧被禁用 用户按下“八进制”键“到:”侧,没有任何变化 用户按下“八进制”从:“侧”,八进制“收音机打开”到:“侧被禁用和取消选择 但到目前为止,它是这样工作的: 用户从:“侧”按“十进制”收音机打开,“十进制”收音机打开”到:“侧被禁用 用户按下“八进制”键“到:”侧,没有任何变化 用户按下“八进制”从:“侧”,八进制“收音
从tkinter导入*
root=Tk()
fromsel=IntVar()
tosel=IntVar()
def禁用按钮():
fr=fromsel.get()
tbin_radio.config(如果fr==2,则状态为禁用,否则为正常)
toct_radio.config(如果fr=8,则状态为禁用,否则为正常)
tdec_radio.config(如果fr==10,则状态为禁用,否则为正常)
thex_radio.config(如果fr==16,则状态为禁用,否则为正常)
fromlab=Label(root,text=“From:”,justify=LEFT,anchor=W)
fbin\u单选=单选按钮(根,text=“Binary”,变量=fromsel,值=2,命令=disable\u按钮)
foct_单选=单选按钮(root,text=“Octal”,变量=fromsel,值=8,命令=禁用_按钮)
fdec_单选=单选按钮(root,text=“Decimal”,变量=fromsel,值=10,命令=禁用_按钮)
fhex_单选=单选按钮(根,text=“十六进制”,变量=fromsel,值=16,命令=禁用_按钮)
fromentry=条目(根)
tolabel=标签(根,text=“To:”)
tbin_单选=单选按钮(根,text=“Binary”,变量=tosel,值=1)
toct_单选=单选按钮(根,text=“八进制”,变量=tosel,值=2)
tdec_单选=单选按钮(根,text=“Decimal”,变量=tosel,值=3)
X_单选按钮=Radiobutton(root,text=“十六进制”,变量=tosel,值=4)
toentry=条目(根)
fromlabel.grid(行=0)
fbin_无线电网格(行=1,列=0)
foct_radio.grid(行=1,列=1)
fdec_无线电网格(行=1,列=2)
fhex_无线电网格(行=1,列=3)
fromentry.grid(行=2,列span=4)
tolabel.grid(行=3)
tbin_无线电网格(行=4,列=0)
toct_radio.grid(行=4,列=1)
tdec_无线电网格(行=4,列=2)
X_radio.grid(行=4,列=3)
toentry.grid(行=5,列跨度=4)
root.mainloop()
如果“从”和“到”都相同,则需要清除tosel
:
def disable_按钮():
fr=fromsel.get()
tbin_radio.config(如果fr==2,则状态为禁用,否则为正常)
toct_radio.config(如果fr=8,则状态为禁用,否则为正常)
tdec_radio.config(如果fr==10,则状态为禁用,否则为正常)
thex_radio.config(如果fr==16,则状态为禁用,否则为正常)
映射=((2,1)、(8,2)、(10,3)、(16,4))
映射中的if(fr,tosel.get()):
#“from”和“to”都是相同的,所以“to”选择很清楚
tosel.set(无)
我知道这不是一个功能性示例,但我仍在研究这个示例,我被单选按钮部分卡住了。非常感谢!这实际上完全符合预期:D