python - tkinter 上的 Checkbutton 无论如何都保留它的价值
问题描述
我正在尝试从 tkinter 上的 Checkbutton 获取值,但它保留了原始值。我已经尝试过无数论坛上人们所说的话,包括这个论坛,但没有任何效果,它只是保留了我用var.set(True)
or赋予它的价值var.set(False)
。顺便说一句,这个 chechbutton 在弹出窗口上,但它不是全局的,它只是在所述窗口上定义的。这是我的代码:
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))
推荐阅读
- hive - 在 HIVE 中插入当前时间戳作为多行插入的一部分
- merge - SSIS - 加入来自不同服务器的两个不同表
- wordpress - Laravel 使用 wordpress 博客从公共文件夹中安装
- batch-file - 在批处理文件中拖放-扩展此代码问题的变量
- c# - Roslyn 脚本错误:字符串代码 = @"System.Threading.Thread.Sleep(300000);";
- javafx - 尝试在 JavaFX 中查看数千个缩略图,速度太慢
- python - 如何在另一个命令结束之前执行命令?
- r - R中的openxlsx包删除数据分组的问题
- c++ - 当派生类中有非常量覆盖时,为什么尝试访问基类的 const 函数编译失败?
- jquery - 无法添加或更新 NuGet 包,收到 NuGet V2 提要错误