使用复选按钮禁用小部件?

2024-04-22

我如何使用复选按钮禁用条目...我得到了这个,但它不起作用(python 2.7.1)...

#!/usr/bin/env python2.7
# -*- coding: utf-8 -*-

from Tkinter import *

root = Tk()

class Principal(tk.Tk):
    def __init__(self, *args, **kwargs):

        foo = ""    
        nac = ""

        global ck1
        nac = IntVar()      
        ck1 = Checkbutton(root, text='Test',variable=nac, command=self.naccheck)
        ck1.pack()

        global ent
        ent = Entry(root, width = 20, background = 'white', textvariable = foo, state = DISABLED)       
        ent.pack()

    def naccheck(self):
        if nac == 1:
            ent.configure(state='disabled')
        else:
            ent.configure(state='normal')       

app=Principal()
root.mainloop()

我制作了Principal类的foo和nac成员变量

    ...
    self.foo = StringVar()
    self.foo.set("test")
    self.nac = IntVar()
    ...

然后在naccheck()中引用self.nac

    def naccheck(self):
        if self.nac == 1:
            ent.configure(state='disabled')
            self.nac = 0
        else:
            ent.configure(state='normal')
            self.nac = 1

不要忘记更改 ck1 的变量 = self.nac ent 的 textvariable = self.foo.

另外,您可能希望创建 ck1 和 ent 成员变量,因为稍后使用 naccheck() 引用它们可能会遇到问题

这些更改在我的 Python2.7 上运行良好

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用复选按钮禁用小部件? 的相关文章

随机推荐

  • 将工作表复制到新工作簿并让按钮指向新工作簿中的宏?

    我有一个看起来像表单的工作表 它有一个 重置 按钮来清除值 我可以运行一个宏 将该工作表复制到新的工作簿中并将其通过电子邮件发送给某人 包含宏的模块被复制到其中 一切都几乎没问题 问题是 工作表上运行重置宏的按钮仍然指向原始文档 我怎样才能
  • 如何在 Amazon AWS Lambda 函数中发布到 MQTT 主题?

    我想要一个简单的命令 就像我在 bash 中使用的那样 将某些内容发布到 AWS Lambda 函数内的 MQTT 主题 沿着以下思路 mosquitto pub h my server com t 灯 设置 m 开 背景 我想用 Alex
  • 如何在meteor.js中更新Mongodb集合?

    我有一个集合 当用户按下按钮时我需要更新它 我只需要将一个变量更改为另一个变量 在控制台中 这行代码有效 db users update username Jack age 13 username Jack 但是当我输入这段代码时 Temp
  • XCode 中的文件夹未显示在磁盘上

    我在 XCode 中向我的项目添加了一个文件夹 并将其命名为 Themes 它将用于存储我的 iPad 应用程序的主题 在它下面我有红色 蓝色等等 它们出现在 XCode 中 但是当我查看物理文件夹时 没有 Themes 目录 显然其下没有
  • 单选按钮在我的回收器视图中无法正常工作。视图中选择了多个单选按钮,这些按钮在焦点按钮中不可见

    我正在使用回收器视图在网格布局管理器中显示来自厨房或设备外部存储的所有图像 我使用单选按钮来显示图像是否被选择 PROBLEM 每当我从回收器视图中的可见视图中选择或取消选择单选按钮时 可见屏幕之外的一些其他视图就会被选择或取消选择 就像我
  • 使用托管标识连接到 Azure 应用程序配置时出现 403

    我正在尝试使用托管标识从网络框架应用程序连接到 Azure 应用程序配置 但遇到权限问题 我如何连接 options Connect new Uri https myconfigstore azconfig io new ManagedId
  • 在 Android 中出现可选文本菜单后,处理文本视图外部的触摸

    我已经通过在android中实现了可选择的文本 android textIsSelectable true 我现在需要做的是 当触摸文本 菜单 光标以外的任何地方时 使菜单消失 我该如何实现这一目标 首先 您可以点击此链接隐藏软件键盘 在单
  • 通过 ID 获取 ViewChildren 模板

    在我的组件中 我使用 ViewChildren 获取其标记模板的列表 ViewChildren TemplateRef private templates QueryList
  • 如何将长数字从csv导入excel而不在VBA中转换为科学记数法

    我用下面的代码打开了分号分隔的txt文件 保存到 Excel 后 无论该列的文本格式如何 长帐号都会显示为科学记数法 我在这里做错了什么 Application ScreenUpdating False Workbooks OpenText
  • “弱引用对象不再存在”是什么意思?

    我正在运行 Python 代码 收到以下错误消息 Exception exceptions ReferenceError weakly referenced object no longer exists in
  • 有人可以解释一下这段代码吗?排列代码[关闭]

    这个问题不太可能对任何未来的访客有帮助 它只与一个较小的地理区域 一个特定的时间点或一个非常狭窄的情况相关 通常不适用于全世界的互联网受众 为了帮助使这个问题更广泛地适用 访问帮助中心 help reopen questions 我正在做一
  • 当 span 的高度和宽度为 0 且仅 padding-left 设置为 20px 时,padding 仍然存在

    这是我的设置 margin 0 padding 0 box sizing border box span padding left 25px background red span span 我有设置为的跨度标签box sizing bor
  • iframe 中元素的 CKEditor 内联编辑器

    在应用程序中 我在 iframe 中有内容可编辑元素 并且希望将内联 CKEditor 应用于这些元素 它可以工作 除非我滚动 iframe 时 CKEditor 工具栏不会随之滚动 是否有特殊标志或某种方法可以让工具栏随 iframe 内
  • MediaElement 冻结视频

    我应用一些LinearGradientBrush动画到MediaElement在这段视频冻结之后 我尝试通过重置它Player1 OpacityMask null 但没有喜悦 顺便说一句 如果我制作动画Opacity of the Medi
  • Django:仅记录我项目的应用程序

    默认情况下 我可以在 settings py 中启用日志记录LOGGING通过创建记录器进行配置 这将捕获所有日志 但是 如果我只想查看项目应用程序的日志记录而不是 Django 内部的日志记录 该怎么办 我可以想象在我的每个 Django
  • SVG:一个过滤器中的多种效果

    我正在尝试在单个 SVG 过滤器中实现多个阴影 但我相信我的问题比这更通用 如何将多种效果添加到单个 SVG 滤镜中 就我而言 这就是我具体想做的事情 我有一个当前包含单个路径元素的 SVG 文档 并且我已对该路径元素应用了单个阴影效果 我
  • 如何使用 JavaScript 检测 Internet Explorer (IE) 和 Microsoft Edge?

    我环顾四周 了解到有很多方法可以检测 Internet Explorer 我的问题是这样的 我的 HTML 文档上有一个区域 单击该区域时 会调用与任何类型的 Internet Explorer 都不兼容的 JavaScript 函数 我想
  • 将node.js neDB数据获取到变量中

    我能够在nodejs 中的neDB 数据库中插入和检索数据 但我无法将数据传递到检索 数据的函数之外 我已经阅读了 neDB 文档 并且搜索并尝试了回调和返回的不同组合 请参阅下面的代码 但没有找到解决方案 我是 javascript 新手
  • Eclipse 模拟器中的屏幕尺寸

    我正在看一个简单的例子 我正在使用 Eclipse 当我单击 运行 工具栏图标时 会显示我的应用程序启动屏幕 正如我所希望的那样 但整个 droid 模拟器太大 太大 我搜索了一下 发现应该去Window Android SDK and S
  • 使用复选按钮禁用小部件?

    我如何使用复选按钮禁用条目 我得到了这个 但它不起作用 python 2 7 1 usr bin env python2 7 coding utf 8 from Tkinter import root Tk class Principal