如何解决QInputMethodEvent触发两次问题?

csdnbuku 2020-06-26 09:27:57
如题,比如WIN10自带的微软拼音(编码会自动嵌入在textEdit),在eventFilter中打印QInputMethodEvent
commitString内容,会输出两次,一次为空,另一次才是上屏的内容值,但是其它非编码嵌入式输入法又正常,只会打印一次。
导致两类不同的输入法表现不同。这要怎么解决呢?目的是想让编码嵌入的输入法上屏后只触发一次,过滤掉空值的那次事件,或者我能将其区分出来(不能通过空值去过滤,因为正常文字未上屏打字过程中的值就是空值,上屏后也有空值和正常值,不好过滤)
...全文
7543 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
csdnbuku 2020-06-30
  • 打赏
  • 举报
回复
引用 1 楼 dinjay 的回复:
我猜空的那次是你程序里拦截到的,有内容的是输入法提交的吧
输入法上屏后QInputMethodEvent事件触发了两次,微软拼音(编码会嵌入到文本框),其它非嵌入的输入法没有这个问题。 QInputMethodEvent *ie = (QInputMethodEvent*)event; qDebug() << "ime commited:" << ie->commitString(); //输入法提交的字符串.
dinjay 2020-06-30
  • 打赏
  • 举报
回复
我猜空的那次是你程序里拦截到的,有内容的是输入法提交的吧

16,212

社区成员

发帖
与我相关
我的任务
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
  • Qt
  • 亭台六七座
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧