问题描述
我有两个复选框。如果选中第一个,则使用默认值。如果选中了第二个复选框,则会出现两个旋转框,使用它们可以选择自定义值。
当我在函数中使用.get()时,第一次调用该函数-分配了默认值,一切都很好。但是,当我在微调框中更改值时,很难获得这些值。
使用“测试”按钮时,如果我没有选择,我会得到正确的值。如果选中自定义计时复选框,则不要在微调框中调整默认值,这样我会得到正确的打印值。当我在旋转框中更改任一值时,该值将为零。
我的目标不是打印值,而是将它们分配给全局变量。
谢谢
global qtv
global qta
qtv=3
qta=15
tv = Intvar()
ta = Intvar()
###disable custom option checkBox if standard is selected
def disablecustomqt():
if optt0.get():
t1.config(state=disABLED)
global qtv,qta
qtv = 3
qta = 15
else:
t1.config(state=norMAL)
### Feeble attempt at updating global values
def callback():
global qtv
global qta
qtv = tv.get()
qta = ta.get()
### disbale standard checkBox of custom selected
def disable_stanqt():
if optt1.get():
t0.config(state=disABLED)
tv = SpinBox(self,from_=1,to=60,width=2,command=callback)
tv.place(x=540,y=300)
labelqtv = Label(self,text=" secs View Time").place(x=580,y=300)
ta = SpinBox(self,from_=5,command=callback)
ta.place(x=540,y=326)
labelqta = Label(self,text=" secs Answer Time").place(x=580,y=326)
global qtv
global qta
qtv = tv.get()
qta = ta.get()
else:
t0.config(state=norMAL)
optt0 = Intvar()
optt1 = Intvar()
labelqt = Label(self,text="Timing Options")
labelqt.place(x=500,y=200)
### testing function to see if values are being passed properly
def printtest():
print(qc)
print(qtv)
print(qta)
### main
t0 = Checkbutton(self,text="Regulation Timing",variable=optt0,command=disablecustomqt)
t0.place(x=500,y=220)
labelqta = Label(self,text="5 secs View Time").place(x=540,y=240)
labelqtb = Label(self,text="25 secs Answer Time").place(x=530,y=260)
t1 = Checkbutton(self,text="Custom Timing",variable=optt1,command=disable_stanqt)
t1.place(x=500,y=280)
#Simple button to check values
testbutton = Button(self,text="check Values",command=printtest).pack()
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)