wxpython中Textctrl回车事件无效的解决方法


Posted in Python onJuly 21, 2016

本文实例讲述了wxpython中Textctrl回车事件无效的解决方法。分享给大家供大家参考,具体如下:

今天使用wxptyhon的Textctrl控件开发客户端时遇到了一个问题, 按照HTML表单的逻辑, 我们在Textctrl里回车应该提交查询, 但是wxpython的Textctrl很奇怪, 回车了居然是像Tab作用一样跳转到下一个控件.这样的话,要完成查询, 要么是鼠标点击按钮, 要么需要按两次或者两次以上.

Google了一下, 无答案, 但是得到了一些有用的资料:

TextCtrl支持的事件类型:

EVT_TEXT:文本因用户的输入或在程序中使用SetValue()而被改变,都要产生该事件。

EVT_TEXT_ENTER:当用户在一个wx.TE_PROCESS_ENTER样式的文本控件中按下了回车键时,产生该事件。

EVT_TEXT_URL:如果在Windows系统上,wx.TE_RICH或wx.TE_RICH2样式被设置了,并且wx.TE_AUTO_URL样式也被设置了,那么当在文本控件内的URL上发生了一个鼠标事件时,该事件被触发。

EVT_TEXT_MAXLEN:如果使用SetMaxLength()指定了该控件的最大长度,那么当用户试图输入更长的字符串时,该事件被触发。

例如,这时给用户显示一个警告消息。

加上wxptyon Demos的例子, 终于悟出了解决方案:

1. 声明实例时需要加上style属性, 如:

wx.TextCtrl(self,style=wx.TE_PROCESS_ENTER)

2. 绑定TextCtrl的回车事件

一开始我使用了类似按钮的绑定方式, 结果没作用

self.element_panel.searchInput.Bind(wx.EVT_TEXT_ENTER, self.onSearch)

正确的声明方式应该是:

self.Bind(wx.EVT_TEXT_ENTER, self.onSearch, self.element_panel.searchInput)

然后在Frame或者Panel里声明相应的方法处理即可.

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
用Python输出一个杨辉三角的例子
Jun 13 Python
使用Python生成随机密码的示例分享
Feb 18 Python
Python变量和数据类型详解
Feb 15 Python
Python执行时间的计算方法小结
Mar 17 Python
python机器学习实战之树回归详解
Dec 20 Python
详谈Python3 操作系统与路径 模块(os / os.path / pathlib)
Apr 26 Python
Python使用progressbar模块实现的显示进度条功能
May 31 Python
python 杀死自身进程的实现方法
Jul 01 Python
python 经典数字滤波实例
Dec 16 Python
django 解决扩展自带User表遇到的问题
May 14 Python
解决django框架model中外键不落实到数据库问题
May 20 Python
详解pandas映射与数据转换
Jan 22 Python
Python实现Sqlite将字段当做索引进行查询的方法
Jul 21 #Python
python装饰器初探(推荐)
Jul 21 #Python
python魔法方法-自定义序列详解
Jul 21 #Python
浅谈Python 字符串格式化输出(format/printf)
Jul 21 #Python
分享python数据统计的一些小技巧
Jul 21 #Python
python中print的不换行即时输出的快速解决方法
Jul 20 #Python
Python全局变量用法实例分析
Jul 19 #Python
You might like
ThinkPHP查询中的魔术方法简述
2014/06/25 PHP
WordPress后台中实现图片上传功能的实例讲解
2016/01/11 PHP
PHP编程获取图片的主色调的方法【基于Imagick扩展】
2017/08/02 PHP
特殊字符、常规符号及其代码对照表
2006/06/26 Javascript
通过JAVASCRIPT读取ASP设定的COOKIE
2006/11/24 Javascript
javascript parseInt 函数分析(转)
2009/03/21 Javascript
实现变速回到顶部的JavaScript代码
2011/05/09 Javascript
js相册效果代码(点击创建即可)
2013/04/16 Javascript
js随机颜色代码的多种实现方式
2013/04/23 Javascript
javascript unicode与GBK2312(中文)编码转换方法
2013/11/14 Javascript
jQuery取id有.的值的方法
2014/05/21 Javascript
ext中store.load跟store.reload的区别示例介绍
2014/06/17 Javascript
express的中间件cookieParser详解
2014/12/04 Javascript
javascript获取本机操作系统类型的方法
2015/08/13 Javascript
JavaScript类型系统之基本数据类型与包装类型
2016/01/06 Javascript
Javascript中浏览器窗口的基本操作总结
2016/08/18 Javascript
jQuery EasyUI编辑DataGrid用combobox实现多级联动
2016/08/29 Javascript
JavaScript实现url参数转成json形式
2016/09/25 Javascript
微信小程序 Windows2008 R2服务器配置TLS1.2方法
2016/12/05 Javascript
全面解析jQuery中的$(window)与$(document)的用法区别
2017/08/15 jQuery
js微信分享实现代码
2020/10/11 Javascript
如何开发出更好的JavaScript模块
2017/12/22 Javascript
React Native日期时间选择组件的示例代码
2018/04/27 Javascript
详解微信小程序实现仿微信聊天界面(各种细节处理)
2019/02/17 Javascript
vue cli3适配所有端方案的实现
2020/04/13 Javascript
Python对list列表结构中的值进行去重的方法总结
2016/05/07 Python
python 中split 和 strip的实例详解
2017/07/12 Python
python批量修改图片尺寸,并保存指定路径的实现方法
2019/07/04 Python
Django用内置方法实现简单搜索功能的方法
2020/12/18 Python
国际经济与贸易专业大学生职业规划书
2014/03/01 职场文书
《李广射虎》教学反思
2014/04/27 职场文书
新郎答谢词
2015/01/04 职场文书
恋恋笔记本观后感
2015/06/16 职场文书
装修公司管理制度
2015/08/05 职场文书
小学教师教学随笔
2015/08/14 职场文书
带你彻底理解JavaScript中的原型对象
2021/04/14 Javascript