鱼C论坛

 找回密码
 立即注册
查看: 2359|回复: 4

tkinter Entry组件中的问题

[复制链接]
发表于 2022-8-21 14:01:23 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 乙方al 于 2022-8-21 14:01 编辑

求助!
为什么当Entry的validate参数为'key',validatecommand返回False的时候,输入框就输入不了内容?
就比如下面这段代码,当在输入框中输入'aa'后,就输不动了,输入框一直显示'aa'
from tkinter import *

root = Tk()

def test():
    if e.get() == 'aa':
        return False
    else:
        return True

e = Entry(root, validate="key", validatecommand=test)
e.pack(padx=10, pady=10)


mainloop()
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-8-21 21:46:51 | 显示全部楼层
validatecommand=test
test 返回false说明你输入不合法,此时当然不能继续操作。
当前提问,我能告诉你的是让test返回true说明你输入合法,可以继续操作
test
        return True
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-8-21 22:59:52 | 显示全部楼层
本帖最后由 qq1151985918 于 2022-8-21 23:07 编辑
from tkinter import *

root = Tk()

def test():
    if e.get() == 'aa':
        e.delete(0, "end")
        e.config(validate="key")
        return False
    else:
        return True

e = Entry(root, validate="key", validatecommand=test)
e.pack(padx=10, pady=10)


mainloop()
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-8-22 19:32:44 | 显示全部楼层
ba21 发表于 2022-8-21 21:46
validatecommand=test
test 返回false说明你输入不合法,此时当然不能继续操作。
当前提问,我能告诉你 ...

好吧!昨天我往后看了一下书,小甲鱼在书已经解释过了
可是帖子正在审核,原本想删了,可是不知道怎么删,最后到晚上才审核通过
不过也同样感谢!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-8-25 16:46:09 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-9-28 14:15

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表