如題,比如WIN10自帶的微軟拼音(編碼會自動嵌入在textEdit),在eventFilter中列印QInputMethodEvent
commitString內容,會輸出兩次,一次為空,另一次才是上屏的內容值,但是其它非編碼嵌入式輸入法又正常,只會列印一次。
導致兩類不同的輸入法表現不同。這要怎么解決呢?目的是想讓編碼嵌入的輸入法上屏后只觸發一次,過濾掉空值的那次事件,或者我能將其區分出來(不能通過空值去過濾,因為正常文字未上屏打字程序中的值就是空值,上屏后也有空值和正常值,不好過濾)
uj5u.com熱心網友回復:
我猜空的那次是你程式里攔截到的,有內容的是輸入法提交的吧uj5u.com熱心網友回復:
輸入法上屏后QInputMethodEvent事件觸發了兩次,微軟拼音(編碼會嵌入到文本框),其它非嵌入的輸入法沒有這個問題。
QInputMethodEvent *ie = (QInputMethodEvent*)event;
qDebug() << "ime commited:" << ie->commitString(); //輸入法提交的字串.
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/23773.html
標籤:Qt
