【问题标题】:Tkinter Button Disabled Until Entry is FilledTkinter 按钮在条目被填充之前禁用
【发布时间】:2022-08-14 02:09:59
【问题描述】:

我是编码新手,我一直在 Tkinter 工作,试图制作一个猜数字游戏。

我想有一个输入框,用户可以输入一个数字,然后是一个“猜测”按钮来提交猜测,看看猜测是否与密码匹配。

我想做一些事情,在用户输入适当的数据类型(int)到输入框中之前,“猜测”按钮是灰色的并且无法点击。

有什么办法可以做到这一点?我知道如何创建输入框和按钮,只是不知道如何将两者联系起来以使按钮在没有输入时变为灰色。

    标签: python tkinter button tkinter-entry


    【解决方案1】:

    您需要在 stringvar 变量中传递条目文本,添加 lambda 方法和回调函数

    def callback(sv):
        if sv == correct_answer:
            #here you can able the button
            btn.config(state=tk.DISABLED)   
    
    sv = tk.StringVar()
    sv.trace("w", lambda name, index, mode, sv=sv: callback(sv))
    entry = tk.Entry(root, textvariable=sv)
    

    【讨论】:

    • 这段代码中的 lambda 函数到底在做什么?抱歉,我是新手,有点混乱。
    猜你喜欢
    • 2021-05-22
    • 2017-08-12
    • 2015-09-02
    • 2018-04-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-12
    • 2023-02-25
    相关资源
    最近更新 更多