Python Checkbutton只读取一次值 Python Checkbutton只读取一次值

Python Checkbutton只读取一次值 Python Checkbutton只读取一次值,python,button,checkbox,tkinter,Python,Button,Checkbox,Tkinter,我在StackOverflow中查找过任何类似的问题,但唯一一个类似的问题是这个。它建议在这种情况下,变量应该设置为全局变量,但我认为这不是一个好的解决方案。所以我要你们找一个更好的 我想在Python中使用Checkbutton(),我的代码看起来(简化)如下 #!/usr/bin/env from Tkinter import * Fenster = Tk() Fenster.title ("Sensors") Number = IntVar() Button =

我在StackOverflow中查找过任何类似的问题,但唯一一个类似的问题是这个。它建议在这种情况下,变量应该设置为全局变量,但我认为这不是一个好的解决方案。所以我要你们找一个更好的

我想在Python中使用Checkbutton(),我的代码看起来(简化)如下

#!/usr/bin/env

from Tkinter import *

Fenster = Tk()
Fenster.title ("Sensors")

Number = IntVar()
Button = Checkbutton(Fenster, text = "Check me", variable = Number, onvalue = 1, offvalue = 0)

print Number.get()

Button.pack()

mainloop()
当我运行这段代码时,窗口打开,我看到了复选框。到现在为止,一直都还不错。但是,当我想勾选或取消勾选时,“Number”的值不知怎么地没有改变。它只显示“1”,可能是从第一帧开始的,并且从不更改


你能给我一些改进的建议吗?

你需要检查
数字的值;单击按钮时,您可以指定一个命令来打印
number

import tkinter as tk   # <-- avoid star imports

def f():
    print(number.get())

fenster = tk.Tk()
fenster.title ("Sensors")

number = tk.IntVar()
button = tk.Checkbutton(fenster, text="Check me", variable=number, command=f)

button.pack()

fenster.mainloop()   # call mainloop on your root window

导入tkinter,因为tk工作得很好,谢谢。但是为什么原始代码不起作用呢?使用mainloop()时,代码不应该在每一帧中反复打印值吗?不,mainloop使gui保持响应并侦听交互;它本身不会运行任意代码。哦,好的,非常感谢。所有的问题都已经回答了。