解决qt输入法 qinputcontent 在qdialog下没响应的问题

9 篇文章 1 订阅

使用qinputcontent的方式实现的qt输入法,在qdialog下不能正常操作,好像输入法死掉一样,根据下面这边帖子解决问题,感谢分享。

http://www.qtcn.org/bbs/read-htm-tid-45344.html


主要是下面的方法:


经过测试,点击输入面板,没有发应的问题,是由QDialog.exec()引起的~~

故切入点还是它。


看QT帮助手册:
int QDialog::exec() [slot]
Shows the dialog as a modal dialog, blocking until the user closes it .The function returns a DialogCode result.
if the dialog is application modal,users cannot interact with any other window in the same applicatio until they close the dialog. if the dialog is window modal,only interaction with the parent window is blocked while the dialog is open. By default, the dialog is application modal.
See also open() ,show(),result(),and setWindowModality().


从上面,可以看出QDialog默认为application modal,而要使用输入法,必有“interaction with the parent window is blocked while the dialog is open”,故使用setWindowModality(Qt::WindowModal),就可以使用输入法了。
故原来的代码改为:
........
     SecondDialog seconddialog;
     seconddialog.setWindowModality(Qt::WindowModal);
     seccondialog.exec();
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值