2013-03-21 3 views
1

간단한 카운트 다운 타이머를 만들고 있습니다. 이 단계에서 내 GUI에서 두 개의 사용자 항목을 가져 와서 (이미 프로그래밍 했음) value_a/value_b 작업을 수행하려고합니다.두 개의 사용자 입력을 나누는 방법은 무엇입니까? Python 3.3

내가이 작업을 수행 할 때마다 나는 여기

TypeError: unsupported operand type(s) for /: 'IntVar' and 'IntVar'이 문제가되는 기능입니다 얻을 :

def mineTime(): 
    mtime = ueAV/ueMY 
    label_mtime = Label(text=mtime,fg='white',bg='grey').pack() 
    return 


# GUI Object 

mGui = Tk() 
ueAV = IntVar() 
ueMY = IntVar() 

이 어떤 도움을 주시면 감사하겠습니다!

mtime = ueAV.get()/ueMY.get() 

당신은 아마 당신이 파이썬 2 또는 그것은 단지 정수 나누기를 수행 할 경우 먼저 떠 변환 할이 예와 같이

답변

1

사용 IntVar.get() 방법.

mtime = float(ueAV.get())/ueMY.get() 

은 또한 레이블 다시 정수로 값을 가져 get()을 사용할 필요가

Label(text=str(mtime),fg='white',bg='grey').pack() 
+0

파이썬 3.3 –

+1

를 사용하는 영업 이익으로 필요하지 @BurhanKhalid 그래 내가 그 실현하지만 나는 – jamylak

+0

당신에게 정말 고마워요 다른 사람에게 도움이 될 것이라고 생각! –

1

텍스트로 결과를 변환하려면이 줄을 변경해야합니다.

def mineTime(): 
    mtime = ueAV.get()/ueMY.get() 
    # other stuff 
+0

감사합니다. 이미 가져 오기를 추가했습니다. 나는 이유를 알지 못했다. 나는 읽었던 다른 글들에서 좋은 생각처럼 보였다. 이제 나는 그 이유를 안다! : D –

+0

파이썬 3.x를 사용하고 있기 때문에 불필요합니다. 파이썬 2.x에만 적용됩니다.'/'는 정수로 나눕니다. –

관련 문제