-
大小: 7KB文件類型: .zip金幣: 2下載: 0 次發布日期: 2021-06-13
- 語言: 其他
- 標簽: Qt??輸入法??QEvent??InputMethod??
資源簡介
Qt輸入法事件(QInputMethodEvent)演示小程序。
程序功能:在失去QTextEdit控件失去焦點的時候放棄正在輸入的內容。
解決搜狗(或QQ)輸入法等輸入法失去焦點時會將字幕輸入到輸入框問題。
運用了Qt的事件監聽(eventFilter)技術,自定義窗口部件(提升法)技術。
~~~注釋詳細。

代碼片段和文件信息
#include?“CustomTextEdit.h“
#include?
#include?
CustomTextEdit::CustomTextEdit(QWidget?*e)
????:QTextEdit(e)
{
????installEventFilter(this);
}
CustomTextEdit::~CustomTextEdit()
{
}
bool?CustomTextEdit::eventFilter(Qobject?*_watcher?QEvent?*_event)
{
????/**************************************驗證事件處理順序
????if(QEvent::FocusOut?==?_event->type())
????{
????????qDebug()?<“===============FocusOut=====“<????}
????****************************************/
????if(QEvent::InputMethod?==?_event->type())??//輸入法事件
????{
????????//qDebug()?<“============InputMethod=====“<????????if(!hasFocus())?//經驗證,失去焦點時,輸入法事件優先于FocusOut事件被處理
????????{
????????????QInputMethodEvent*?iEvent?=?dynamic_cast?(_event);?//注意用將_event括起來
????????????iEvent->setCommitString(““);????//將失去焦點后提交的字符串設置為空
????????}
????}
????return?QTextEdit::eventFilter(_watcher_event);
}
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2013-08-22?19:56??InputMethodTest\
?????文件????????1060??2013-08-22?19:54??InputMethodTest\CustomTextEdit.cpp
?????文件?????????846??2013-08-22?19:54??InputMethodTest\CustomTextEdit.h
?????文件?????????743??2013-08-22?18:10??InputMethodTest\edittestdialog.cpp
?????文件?????????398??2013-08-22?17:45??InputMethodTest\edittestdialog.h
?????文件????????1455??2013-08-22?19:46??InputMethodTest\edittestdialog.ui
?????文件?????????399??2013-08-22?17:20??InputMethodTest\InputMethodTest.pro
?????文件???????37234??2013-08-22?19:40??InputMethodTest\InputMethodTest.pro.user
?????文件?????????201??2013-08-22?16:57??InputMethodTest\main.cpp
?????文件?????????656??2013-08-22?19:57??InputMethodTest\程序說明.txt
- 上一篇:labview的TCP大文件發送和接收
- 下一篇:testRoll.7z
評論
共有 條評論