Python 创建tkinter窗口后调用包含checkbutton的函数时,checkbutton值始终为0

Python 创建tkinter窗口后调用包含checkbutton的函数时,checkbutton值始终为0,python,tkinter,checkbox,Python,Tkinter,Checkbox,我正在尝试创建一个函数来创建一个包含checkbutton的tkinter窗口。此函数称为另一个Tkinter窗口。每当我这样做时,checkbutton的值始终为0,即使我选择了它 from tkinter import * def go(value): print(value) value = value.get() print("value of checkbox",value) def test2(): tk = Tk()

我正在尝试创建一个函数来创建一个包含checkbutton的tkinter窗口。此函数称为另一个Tkinter窗口。每当我这样做时,checkbutton的值始终为0,即使我选择了它

from tkinter import *
def go(value):
    print(value)
    value = value.get()
    print("value of checkbox",value)

def test2():
    tk = Tk()


    value = IntVar() 
    checkbutton = Checkbutton(tk, text = "value", onvalue = 1, offvalue = 0,variable =     value)
    checkbutton.pack()

    button = Button(tk,text = "go", command = lambda:[go(value)])
    button.pack()



window = Tk()

text = Label(window,text = "text")
text.pack()

test2()


window.mainloop()
如果我在没有窗口的情况下执行相同的操作,checkbutton将起作用:

from tkinter import *
def go(value):
    print(value)
    value = value.get()
    print("value of checkbox",value)

def test2():
    tk = Tk()


    value = IntVar() 
    checkbutton = Checkbutton(tk, text = "value", onvalue = 1, offvalue = 0,variable =         value)
    checkbutton.pack()

    button = Button(tk,text = "go", command = lambda:[go(value)])
    button.pack()



#window = Tk()

#text = Label(window,text = "text")
#text.pack()

test2()


#window.mainloop()

Tkinter中的check按钮在windows中可能有点繁琐

多次调用
Tk()
创建多个独立的GUI实例,其中包含无法与其他实例交互的小部件、变量等。使用
Toplevel()
创建与根窗口位于同一GUI实例中的窗口。将
master=tk
添加到
IntVar()
call@jasonharper如果我们真的想吹毛求疵,
.mainloop()
不会停止,直到所有
Tk
Toplevel
的实例都关闭。因此,
Tk()
的不同实例可以相互通信,但这种情况非常罕见。