Qt界面无法切换输入法的解决方法 | 您所在的位置:网站首页 › qq输入法怎么切换中英文 › Qt界面无法切换输入法的解决方法 |
在有些项目中,可能需要在 widget上切换输入法,进行文本输入,进行标注;但是,不管怎么按shift都无法切换中英文,在MFC的对话框中也一样,但是单文档,多文档却可以,这是什么原因呢,难道是Qt的bug? 要解决这个也不难,由于输入事件在widget中默认没有处理,需要在窗体构造函数中进行设置,添加几行代码即可,如下: this->setAttribute(Qt::WA_InputMethodEnabled, true); this->setAttribute(Qt::WA_KeyCompression, true); this->setFocusPolicy(Qt::WheelFocus);中英文可以切换了,那怎么接收输入法输入的内容呢,如下图 如果是Edit类型的控制, 自动获取了输入的内容,Widget上是不行的,需重写输入事件inputMethodEvent 本篇博客全部代码如下: 头文件 #ifndef MAINWINDOW_H #define MAINWINDOW_H #include QT_BEGIN_NAMESPACE namespace Ui { class MainWindow; } QT_END_NAMESPACE class |
CopyRight 2018-2019 实验室设备网 版权所有 |