Python tkinter上的Checkbutton将其保留';不管怎样,它都是有价值的
我试图从tkinter上的Checkbutton获取值,但它保留了原始值。我在无数论坛上尝试过人们说的话,包括这一次,但没有任何效果,它只是保留了我用Python tkinter上的Checkbutton将其保留';不管怎样,它都是有价值的,python,tkinter,Python,Tkinter,我试图从tkinter上的Checkbutton获取值,但它保留了原始值。我在无数论坛上尝试过人们说的话,包括这一次,但没有任何效果,它只是保留了我用var.set(True)或var.set(False)给出的值。顺便说一句,这个复选按钮位于弹出窗口上,但它不是全局的,它只是在所述窗口上定义的。这是我的代码: import tkinter as tk import tkinter.ttk as ttk root = tk.Tk() root.geometry('500x500') var
var.set(True)
或var.set(False)
给出的值。顺便说一句,这个复选按钮位于弹出窗口上,但它不是全局的,它只是在所述窗口上定义的。这是我的代码:
import tkinter as tk
import tkinter.ttk as ttk
root = tk.Tk()
root.geometry('500x500')
var = tk.BooleanVar()
var.set(False)
startup = tk.Checkbutton(root, variable=var, onvalue=True, offvalue=False , text = "test")
当我使用
var.get()
时,我得到初始值。请帮助我:(谢谢您的建议。原因是Checkbutton需要一个回调函数来更改按钮的状态
def toggle(button):
if button.get() is True:
button.set(True)
else:
button.set(False)
您可以在Checkbutton的实例化中使用回调函数
startup = tk.Checkbutton(root, variable=var, text = "test",
command=lambda button=var: toggle(button))
“Checkbutton需要回调函数来更改按钮的状态”-那不是真的。我承认我错了,Checkbutton需要回调函数。但是,如果要通过单击事件更改按钮的状态,是否需要回调函数?不,Checkbutton完全不需要回调就可以正常工作。但在我做了一点调整后,它工作得很好:(@savyexe,Bryan Oakley说得对,你不需要回调函数来更改Checkbutton的状态。我认为你的问题是不合适的,因为他解释说,当值被更改时,你无法读取值。你想要的是切换值并使其直观地反映出来。这就是我解释你的任务的原因ion as.您如何知道
var.get()
不起作用?您的代码从不调用var.get()
。请提供完整的代码。当我添加足够的代码以在单击按钮时打印值时,它总是打印正确的值。