python tkinter Entry控件textchange事件

这篇具有很好参考价值的文章主要介绍了python tkinter Entry控件textchange事件。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

项目上需要用到一个功能,当Entry控件中的文本发生变化时触发textchange事件,获得变化后的文本内容,找了半天后发现Entry控件没有自带的textchange事件。替代方案是:给Entry控件绑定<Key>事件,当任意敲击键盘时触发,相当于间接实现了textchange事件,但实际使用过程发现绑定<Key>事件后输出文本框内容输出的是键盘按下之前的值,举个例子,Entry控件中之前就有UCA,当我敲击S后,得到的控件内的字符串是UCA,但控件中已经显示UCAS了。

折腾半天后,发现用线程就可以很快的实现我想要的功能,代码如下:文章来源地址https://www.toymoban.com/news/detail-759331.html

from tkinter import *
import threading


def GetValue(widgetVar):
    label['text'] = widgetVar.get()

def TextChange(event, widgetVar):
    if event.state == 8 or event.state == 10:  # 单个键盘按下时的状态,8小写,10大写,如果是组合键是其他的值
        t = threading.Thread(target=GetValue, args=(widgetVar, ))  # 开启一个线程,把输入框绑定的变量对象传进去
        t.start()

root = Tk()
inputText = StringVar()
entry = Entry(root, textvariable=inputText)
entry.bind('<Key>', lambda e: TextChange(e, inputText))  # 给输入框绑定键盘敲击事件,把绑定的变量传入回调函数中
entry.pack()

label = Label(root, text='这里输出文本框中的值')
label.pack()

root.mainloop()

到了这里,关于python tkinter Entry控件textchange事件的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【Python】【进阶篇】六、Tkinter的Text文本框控件

    Text 文本控件是 Tkinter 中经常使用的控件,与 Entry 控件相比, Text 控件用于显示和编辑多行文本,而 Entry 控件则适合处理单行文本。 Text 文本控件的常用属性 名称 说明 autoseparators 默认为 True,表示执行撤销操作时是否自动插入一个“分隔符”(其作用是用于分隔操作记录)

    2024年02月03日
    浏览(26)
  • Python tkinter控件全集之组合选择框 ttk.ComboBox

    Tkinter是Python的标准GUI库,也是最常用的Python GUI库之一,提供了丰富的组件和功能,包括窗口、按钮、标签、文本框、列表框、滚动条、画布、菜单等,方便开发者进行图形界面的开发。Tkinter库基于Tk for Unix/Windows/macOS,由Tcl语言编写。使用Tkinter,可以快速创建桌面应用程序

    2024年02月04日
    浏览(31)
  • Python Tkinter 创建窗口及有关事件1

    1.可以使用下列方法创建窗口 通常用Tk()方法创建的窗口被称为根窗口,之后可以在此窗口中创建许多的控件 2.有关属性的设置 title()        用来设置窗口名称,填写在括号内,字符型 geometry(\\\'width x height +x + y\\\')        设置窗口的宽和高,注意是小写的x,xy是窗口距离屏幕的

    2024年02月02日
    浏览(34)
  • Discuz论坛网站标题栏Powered by Discuz!版权信息如何去除或是修改?

    当我们搭建好DZ论坛网站后,为了美化网站,想把标题栏的Powered by Discuz!去除或是修改,应该如何操作呢?今天飞飞和你分享,在操作前务必把网站源码和数据库都备份到本地或是网盘。   Discuz的版权信息存在两处地方,一个是标题栏,一个是底部。一般为了美化修改个标

    2024年02月08日
    浏览(59)
  • (C#) IIS 响应标头过滤敏感信息(如:Server/X-Powered-By等) 运维知识

    再一次净网行动中,客户要求安全改造发现了接口请求的header标头中出现如图中的敏感信息。   其意义在于告知浏网站是用什么语言或者框架编写的。解决办法就是修改该响应头为一个错误的值,将攻击者导向一个错误的方向。 这里只说windows 的iis环境,不考虑其他服务器的

    2024年02月11日
    浏览(52)
  • python函数可以通过列表索引放到button事件 by chatgpt

    Python函数可以通过列表索引放到按钮事件中。在按钮事件处理函数中,你可以使用`event.widget`属性获取触发事件的按钮,然后使用`grid_info()`方法获取按钮的行和列索引,最后使用索引从列表中获取函数并调用它。   以下是示例代码:   ```python import tkinter as tk   # 创建主窗口

    2023年04月25日
    浏览(45)
  • Tkinter Event事件处理方法

    在Tkinter中,事件处理方法是指在用户与GUI交互时,程序响应用户的操作并执行相应的操作。以下是一些常用的事件处理方法: Button-Click事件处理方法:当用户单击按钮时,执行相应的操作。 Key-Press事件处理方法:当用户按下键盘上的某个键时,执行相应的操作。 Mouse-Click事

    2024年02月09日
    浏览(35)
  • tkinter如何绑定鼠标和键盘等事件

    Tkinter系列: GUI初步💎布局💎绑定变量💎绑定事件💎消息框 扫雷小游戏💎强行表白神器 控件和人通过事件来交互, Tkinter 中则通过 Bind 来绑定事件。例如 效果如下 其中, bind 用于绑定事件,第一个参数 Button-1 在鼠标左键点击时触发,后面的 lambda 表达式为触发后的函数

    2024年02月11日
    浏览(39)
  • Caused by: java.lang.IllegalArgumentException: Could not find a ‘KafkaClient‘ entry in the JAAS conf

    针对找不到jaas.conf文件避坑: 问题前提: 运行程序命令:java  -cp  ------------ 解决办法(这只是一种很难注意到的细节,其他原因还需再次排查): 运行命令需要在跟配置文件同级目录下运行。如:你的配置文件在/tmp/resources下,你的命令需要在/tmp下运行即可。

    2024年02月13日
    浏览(45)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包