gpt4 book ai didi

python - 验证 Tkinter.Text 小部件?

转载 作者:太空宇宙 更新时间:2023-11-03 15:19:48 25 4
gpt4 key购买 nike

使用 Tkinter.Text 进行验证的选项有哪些?小部件?我不需要 Text的高级功能,只是它的多行属性。不幸的是,它缺少 textvariablevalidate命令,所以我似乎无法附加某种回调来检查每次文本更改时的内容。我想避免必须绑定(bind)到 <KeyRelease> ,因为它看起来可以捕获所有按键,包括 Shift、Ctrl 等键,并且看起来有点乱,无法正常工作。

我基本上只需要检查文本字段是否为空,并根据需要启用/禁用“确定”按钮(即,如果没有文本,则该按钮被禁用)。

代替这个,有没有人遇到过Entry的一个像样的子类?添加用 Python 编写的多行功能?有 this , 它增加了 textvariableText ,但它是用纯 TCL 而不是 Python 编写的,似乎很难集成到我现有的 Python 环境中。

最佳答案

绑定(bind)到 <KeyRelease>按钮不需要凌乱,您不必检查按下的键的值,而是获取小部件的内容。请记住,它的末尾总是有一个 '\n',因此当您检索内容时不要忘记丢弃它:

content = text.get(1.0, "end-1c")

然后你只需要根据这个值改变按钮的状态:

import Tkinter as tk

def configure_ok_button(event):
content = event.widget.get(1.0, "end-1c")
state = "active" if content else "disabled"
button.configure(state=state)

root = tk.Tk()
text = tk.Text(root)
button = tk.Button(root, text="Ok", state="disabled")
text.bind("<KeyRelease>", configure_ok_button)
text.pack()
button.pack()
root.mainloop()

关于python - 验证 Tkinter.Text 小部件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17120429/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com