2016-09-30 3 views
0

무엇이 문제입니까?Tkinter 라디오 버튼 변수 업데이트 오류가 발생했습니다.

var = StringVar() 
radBut1 = ttk.Radiobutton(root, text='A - Z', variable=var, value='AtoZ') 
radBut2= ttk.Radiobutton(root, text='Z - A', variable=var, value='ZtoA') 

두 개의 라디오 버튼 중 하나를 선택하면 var 변수가 업데이트되지 않습니다. 나는 다른 문서 소스와 튜토리얼에서 많은 상충되는 자료를 발견했다. (나는 발견 한 모든 것을 시도했다.) 아무 소용이 없다.

print(var) 
+0

값을 어떻게 확인합니까? 'print'는 쓰레드/타이머 함수에서 실행됩니까? 제발 좀 더 자세히 설명해주세요. – nostradamus

+0

그것은 작동합니다. print (var.get())를 사용하여 var의 내용을 가져 오십시오. 필요한 경우 var = StringVar (value = 'AtoZ')로 var를 초기화 할 수 있습니다. – Jal

+0

Jal에게 맞는 것을 확인해 주셔서 감사합니다. 나에게있어 아마도 nostradamus가 예측 한 것 때문이 아닙니다 :) – user3535074

답변

0

이 작동 :

나는 VAR의 값을 확인하려면 다음을 사용하고

def updateRadioButtonVariable(radioButtonVar,updateString): 
    radioButtonVar.set(updateString) 

#Sort Type Radio Button 
radioButtonVar = StringVar() 
radBut1= ttk.Radiobutton(root, text='A - Z', variable=radioButtonVar, value='AtoZ',command= lambda: updateRadioButtonVariable(radioButtonVar ,'AtoZ')) 
radBut2= ttk.Radiobutton(root, text='Z - A', variable=radioButtonVar, value='ZtoA',command= lambda: updateRadioButtonVariable(radioButtonVar ,'ZtoA')) 

확실하지 왜 (문서에서 거의 템플릿 코드) 원본 코드 작동하지 않습니다. 누구든지 아이디어가 있다면 공유하십시오.