2017-01-05 30 views
0

我在主根上放置了元素週期表,並且由於我將其撤回以打開測驗窗口。我的問題是,當我試圖從var.get()獲取值時,它總是給我0,並且不會獲得真正的價值。以下是我撤回主根後的簡單代碼。Python var.get()在取消主根時不會從單選按鈕中獲取值

def prozor(): 
    global top,brojac 
    brojac=0 
    root.withdraw() 
    top=Tk() 
    top.title("Provjera znanja") 
    p1=Label(top, text="Provjera znanja").grid(row=0,column=0,columnspan=4) 
    provjera1=Button(top,text="Provjera znanja za\nprvi stupac elemenata",command=lambda:kviz1()).grid(row=1,column=0) 

    provjera2=Button(top,text="Provjera znanja za\ndrugi stupac elemenata",command=lambda:kviz1()).grid(row=1,column=1) 

    provjera3=Button(top,text="Provjera znanja za\ntreci stupac elemenata",command=lambda:kviz1()).grid(row=1,column=2) 

    provjera4=Button(top,text="Provjera znanja za\ncetvrti stupac elemenata",command=lambda:kviz1()).grid(row=1,column=3) 

    provjera5=Button(top,text="Provjera znanja za\npeti stupac elemenata",command=lambda:kviz1()).grid(row=1,column=4) 



def kviz1(): 
    global R1,R2,R3,R1a,R2a,R3a,var,odgovor 
    var= IntVar() 
    p1=Label(top, text="Koji simbol se koristi za Vodik?").grid(row=2,column=0,columnspan=4) 
    R1 = Radiobutton(top, text="W", variable=var, value=1).grid(row=3,column=0) 
    R2 = Radiobutton(top, text="V", variable=var, value=2).grid(row=4,column=0) 
    R3 = Radiobutton(top, text="H", variable=var, value=3).grid(row=5,column=0) 


submit1=Button(top,text="Odgovori",command=lambda:kv1()).grid(row=6,column=1) 

def kv1(): 
    global brojac,odgovor 
    odgovor=var.get() 
    if odgovor == 3: 
    brojac=brojac+1 
    print brojac 

我想單獨電網從單選按鈕,但它不工作,我只是需要從var.get該值(),所以我可以比較正確答案的用戶的選擇答案。提前致謝!我嘗試了全球化變種。

回答

0

您不能有Tk的多個實例。如果您需要更多窗口,請創建Toplevel的實例。 Tk的每個實例都有自己的小部件,事件,變量等的內部名稱空間。

+0

好的,謝謝! –