在列表“soil_cat”中,元组中的第一个值对应于名为“spectra_type1”的第一个单选按钮,元组中的第二个值对应于名为“spectra_type2”的第二个单选按钮。我想通过选择单选按钮,通过“土壤类别定义”功能打印值。换句话说,我希望“如果”语句通过选择“光谱类型1”,specta的值为1,通过选择“光谱类型2”,specta的值为2。现在它仍然是空的,因为没有执行函数“地震”
从tkinter进口*
类q(): definit(自身、主控): self.master=master
def soil_categ_define(self):
print (self.var.get())
return
def earthquake(self):
self.master=Tk()
self.quake=Toplevel(bg='white',height=200,width=100)
self.quake.geometry('500x200')
global specta
specta=None
spect1=IntVar(self.quake,0)
spect1.set(0)
def spect_set():
return spect1.get()
self.spectra_type1=Radiobutton(self.quake,bg='white',
text='Elastic type 1',
indicatoron = 0,variable=spect1,value=0,command=spect_set)
self.spectra_type1.grid(column=7,row=1)
self.spectra_type1=Radiobutton(self.quake,bg='white',
text='Elastic type 2',indicatoron = 0,variable=spect1,
value=1,command=spect_set)
self.spectra_type1.grid(column=7,row=2)
self.soil_categ=[('A',1.00,1.00),('B',1.20,1.35),('C',1.15,1.50),('D',1.35,1.80),('E',1.40,1.60)]
self.var=DoubleVar()
self.var.set(1.0)
self.soil_cat={}
j=0
specta=spect_set()
for i,parameter1,parameter2 in self.soil_categ:
if specta==0 or specta==None:
parameter=parameter1
elif specta==1:
parameter=parameter2
j+=1
self.soil_cat['soil{0}'.format(i)]=Radiobutton(self.quake,text=i,variable=self.var,
value=parameter,bg='white',command=self.soil_categ_define).grid(column=j+1,row=1)
if __name__=='__main__':
gr=q(None)
gr.earthquake()
解决方案是一个不同的程序。思考不同的问题,找到解决办法。 在一个函数中插入所有命令(soil、categ_define)
相关问题 更多 >
编程相关推荐