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
的每个实例都有自己的内部命名空间,用于小部件、事件、变量等。
我在主根上放置了周期性 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
的每个实例都有自己的内部命名空间,用于小部件、事件、变量等。