tkinter窗口复选框操作

时间:2017-03-26 09:41:09

标签: python tkinter

我的复选框(admin_check)在切换时没有在check_var中设置值。当我删除根窗口时它工作正常但我无法删除,因为它是必要的。

def c():
    print(check_var.get())


root=Tk()
#initially it must be minimised not to be open until login by user
root.quit() 
inst_window=Tk()


#instruction and login window

login_frame=Frame(inst_window,bg="lightpink",height=100,width=100)
check_var=StringVar()
admin_check=Checkbutton(login_frame,text="Adm",variable=check_var, onvalue='admin',offvalue='user',command=c)
login=Button(login_frame,text="login",command=c)
admin_check.grid(row=0,columnspan=2)
login.grid(row=1,columnspan=2)

login_frame.pack()
login_frame.pack_propagate(0)

root.mainloop()

1 个答案:

答案 0 :(得分:0)

正如Brian Oakley所说,你不能有两个Tk(),而是使用Toplevel()

更改inst_window=Tk()

inst_window=Toplevel(root)

完成后,没有其他问题,代码运行正常。您可能还希望将复选框的默认设置设置为未选中,您可以执行以下操作:

check_var.set("user")