Qt界面无法切换输入法的解决方法 您所在的位置:网站首页 qq输入法怎么切换中英文 Qt界面无法切换输入法的解决方法

Qt界面无法切换输入法的解决方法

2024-07-01 03:26| 来源: 网络整理| 查看: 265

        在有些项目中,可能需要在 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 实验室设备网 版权所有