Tkinter Checkbutton不会更改变量

问题描述

复选框tkinter python有什么问题。无论我是否勾选复选框,我总是从变量中得到0。我也尝试为变量设置值,但是checkbutton并没有改变!我怎么了?

from tkinter import *
master_1 = Tk()


def show_hide_option_func():
    master = Tk()
    Label(master,text="Your sex:").grid(row=0,sticky=W)
    check_list = IntVar()
    check_song = IntVar()
    check_vol = IntVar()

    def var_state():
        print(check_list.get())
        print(check_song.get())
        print(check_vol.get())

    b= Checkbutton(master,text="female",variable=check_list).grid(row=2,sticky=W)
    c= Checkbutton(master,text="male",variable=check_song).grid(row=3,sticky=W)
    d= Checkbutton(master,text="feme",variable=check_vol).grid(row=4,sticky=W)

    Button(master,text='Quit',command=master.quit).grid(row=5,sticky=W,pady=4)
    Button(master,text='Show',command=var_state).grid(row=6,pady=4)
    master.mainloop()

Button(master_1,command=show_hide_option_func,text='Click here').pack()
master_1.mainloop()

enter image description here

谢谢。

解决方法

您不应创建多个根窗口,请参见Why are multiple instances of Tk discouraged?

使用Toplevel()创建对话框:

def show_hide_option_func():
    master = Toplevel()
    etc...

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...