国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

wxpython中Textctrl回車事件無效的解決方法

2019-11-25 16:38:01
字體:
來源:轉載
供稿:網友

本文實例講述了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 Socket編程技巧總結》、《Python函數使用技巧總結》、《Python字符串操作技巧匯總》、《Python入門與進階經典教程》及《Python文件與目錄操作技巧匯總

希望本文所述對大家Python程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 教育| 峨山| 吉安市| 通许县| 中宁县| 安化县| 富阳市| 兖州市| 涟水县| 呼伦贝尔市| 新郑市| 永仁县| 定西市| 尼勒克县| 陵水| 东乌珠穆沁旗| 鹤岗市| 姜堰市| 西盟| 富顺县| 绵阳市| 凤城市| 响水县| 渭源县| 贺州市| 浦东新区| 灵丘县| 福贡县| 连江县| 宁国市| 论坛| 鱼台县| 塘沽区| 西峡县| 商丘市| 鲁甸县| 略阳县| 九龙城区| 义马市| 赤水市| 平远县|