我正在为我的程序使用GUI。代码如下所示:
lijst=[]
def setValueTrue():
del lijst[0:len(lijst)]
e2="True"
lijst.append(e2)
print lijst[0]
def setValueFalse():
del lijst[0:len(lijst)]
e2="False"
lijst.append(e2)
print lijst[0]
lijst1=[]
def setValueTrue1():
del lijst1[0:len(lijst1)]
e2="True"
lijst1.append(e2)
def setValueFalse1():
del lijst1[0:len(lijst1)]
e2="False"
lijst1.append(e2)
root = Tk()
var = IntVar()
R1 = Radiobutton(root, text="Option 1", variable=var, value=1,
command=setValueTrue())
R1.pack(anchor = W)
R2 = Radiobutton(root, text="Option 2", variable=var, value=2,
command=setValueFalse())
R2.pack(anchor = W)
R3 = Radiobutton(root, text="Option 3", variable=var, value=3,
command=setValueTrue1())
R3.pack(anchor = W)
R4 = Radiobutton(root, text="Option 4", variable=var, value=4,
command=setValueFalse1())
R4.pack(anchor = W)
b=Button(root, text='Quit', command=root.quit)
b.pack()
b=Button(root, text='Oke', command=lambda:tekenGraaf("OutputB1.txt",25,0.8,dimensies=3,kleur=str(lijst[0]),groepen=str(lijst1[0])))
b.pack()
mainloop()
我有4个radiobuttons。这些使用定义创建值true或false。我希望在我的“大”定义中使用这个值。但是当我点击radiobuttons时,不会执行defs(setValueTrue等)。只有当我运行程序时,radiobutton才会运行def。由于这个原因,list和list1的值自动变为false和false。有谁知道为什么radiobuttons没有运行代码。
答案 0 :(得分:1)
command
选项将引用带到函数中。当您执行command=setValueTrue()
时,您正在调用该函数,并将该函数的结果提供给command
属性。结果是None
,因此没有与该按钮关联的命令。
修复方法是删除括号:
R1 = Radiobutton(..., command=setValueTrue, ...)