我正在尝试做的是设置if语句来检查checkbutton的值是开还是关
我的想法是这样的
from Tkinter import *
def checkbutton_value():
#If statement here
#is their something like
#if checkbox_1.onvalue == True:
# checkbox_2.deselect()
#if checkbox_1.varible == checkbox_1.onvalue:
# checkbox_2.deselect()
print 'Need Help on lines 7-8 or 10-11'
root=Tk()
checkbox_1 = Checkbutton(root, text='1 ', command=checkbutton_value).pack()
checkbox_2 = Checkbutton(root, text='2 ', command=checkbutton_value).pack()
checkbox_3 = Checkbutton(root, text='QUIT', command=quit).pack()
root.mainloop()
发布于 2012-07-10 05:57:32
首先,不会在一行上创建和打包小部件。pack
返回None
,所以在上面的代码中,checkbox_1
是None
。而是:
checkbox_1 = Checkbutton(root, text='1 ', command=checkbutton_value)
checkbox_1.pack()
现在,要获取复选按钮的值:
def checkbutton_value1():
if(var1.get()):
var2.set(0)
def checkbutton_value2():
if(var2.get()):
var1.set(0)
var1=IntVar()
checkbox_1 = Checkbutton(root, text='1 ', variable=var1, command=checkbutton_value1)
checkbox_1.pack()
var2=IntVar()
checkbox_2 = Checkbutton(root, text='2 ', variable=var2, command=checkbutton_value2)
checkbox_2.pack()
通常需要为以下内容创建自己的checkbutton类:
class MyCheckButton(CheckButton):
def __init__(self,*args,**kwargs):
self.var=kwargs.get('variable',IntVar())
kwargs['variable']=self.var
Checkbutton.__init__(self,*args,**kwargs)
def is_checked(self):
return self.var.get()
https://stackoverflow.com/questions/11403723
复制相似问题