from tkinter import *master = Tk()def var_states(): print((var1.get(),var2.get()))Label(master, text='Your sex:').grid(row=0,sticky=W)var1 = BooleanVar()Checkbutton(master, text='male', variable=var1).grid(row=1,sticky=W)var2 = IntVar()Checkbutton(master,text='female',variable=var2).grid(row=2,sticky=W)Button(master,text='Quit',command=master.quit).grid(row=3,sticky=W,pady=4)Button(master,text='Show',command=var_states).grid(row=4,sticky=W,pady=4)mainloop()
male打勾,female不勾
结果:
(True, 1)
如果直接
var1=IntVar()print((var1,var2.get()))
结果:(<tkinter.IntVar object at 0x000001FBB7490358>, 0)
如果:
var1=BooleanVar()print((var1,var2.get()))
结果:(<tkinter.BooleanVar object at 0x0000019E936C0390>, 0)
说明var1.get()很重要,把这一串转化为需要的表达