QInputDialog 置顶后模拟键盘输入失效问题

一、开发背景

嵌入式 linux-arm 触摸屏移植了谷歌拼音输入法后测试使用问题

二、开发环境

Qt5.12.2 + QtCreator4.8.2

三、实现步骤

1、问题现象

QInputDialog 弹框后输入法点击无效,下面是效果图

2、解决方法

不使用类静态接口,创建对象来实现,代码如下,其中注释的代码与输入法冲突

cpp 复制代码
    /* 判断权限 */
//    bool ok;
//    QString text = QInputDialog::getText(this, tr("请输入密码"), tr("密码:"),
//                   QLineEdit::Password, nullptr, &ok,
//                   Qt::MSWindowsFixedSizeDialogHint, Qt::ImhTime);
    
    QString text;
    QInputDialog inputDialog(this);     // 指定输入框父对象,输入框为模态框 很重要
    inputDialog.setWindowModality(Qt::WindowModal);
    inputDialog.setInputMode(QInputDialog::InputMode::TextInput);
    inputDialog.setWindowTitle("请输入密码");
    inputDialog.setLabelText("密码:");
    inputDialog.setOkButtonText("确认");
    inputDialog.setCancelButtonText("取消");
    if (inputDialog.exec() == QDialog::Accepted)
    {
        text = inputDialog.textValue();
    }
相关推荐
江湖人称菠萝包4 天前
【Qt】《Qt 5.9 C++开发指南》笔记-Chapter9-Qt Charts
笔记·qt·qt5
江湖人称菠萝包4 天前
【Qt】《Qt 5.9 C++开发指南》笔记-Chapter10-Data Visualization
笔记·qt·qt5
江湖人称菠萝包5 天前
【Qt】《Qt 5.9 C++开发指南》笔记-Chapter8-绘图
笔记·qt·qt5
江湖人称菠萝包7 天前
【Qt】《Qt 5.9 C++开发指南》笔记-Chapter3-Qt类库概述
笔记·qt·qt5
江湖人称菠萝包7 天前
【Qt】《Qt 5.9 C++开发指南》笔记-Chapter4-常用界面设计组件
笔记·qt·qt5
江湖人称菠萝包8 天前
【Qt】《Qt 5.9 C++开发指南》笔记-Chapter2-GUI应用程序设计基础
笔记·qt·qt5
江湖人称菠萝包8 天前
【Qt】《Qt 5.9 C++开发指南》笔记-Chapter1-认识Qt
笔记·qt·qt5
j7~13 天前
【Qt】(篇二)《信号与槽:信号和槽的概述,使用、自定义信号和槽、信号与槽的连接方式、信号和槽的其他说明》---详解
qt·信号·qt5·信号与槽·槽·qt creater
沫璃染墨1 个月前
《Qt从零入门系列(六):信号与槽进阶——从多种连接方式到Lambda表达式》
开发语言·c++·qt·代码规范·设计规范·qt5
≮傷£≯√2 个月前
opencv4.6.0 + cmake3.25.1+ Contrib (qt5.14.2)
opencv·qt5