Python var.get() 在主根被撤销时不会从单选按钮获取值

Python var.get() wont get value from radiobutton when main root is withdrawn

我在主根上放置了周期性 table 元素,因为我撤回了它以打开测验 window。我的问题是,当我尝试从 var.get() 获取值时,它总是给我 0 并且不会获得真正的值。这是我撤回主根后的简单代码。

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() 的值,这样我就可以将用户选择的答案与正确答案进行比较。提前致谢!我也尝试了全局变量。

Tk 的实例不能超过 1 个。如果您需要更多 windows,请创建 Toplevel 的实例。 Tk 的每个实例都有自己的内部命名空间,用于小部件、事件、变量等。