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();
    }
相关推荐
学习,学习,在学习15 天前
Modbus TCP同步通信方式实现异步级效率
网络·c++·qt·网络协议·tcp/ip·qt5
学习,学习,在学习16 天前
Modbus TCP 协议深度解析与 Qt 实战指南
网络·c++·qt·tcp/ip·modbus·qt5
Shadow(⊙o⊙)19 天前
Qt-Lambda捕获使用+阶段性综合使用
开发语言·c++·qt·qt5
学习,学习,在学习22 天前
Qt 串口通讯架构
开发语言·c++·qt·架构·qt5
学习,学习,在学习1 个月前
Q工控仪器程序框架设计详解(工控)
c++·qt·架构·qt5
IOT那些事儿1 个月前
Qt5 VSCode调试
c++·vscode·mingw·qt5
IOT那些事儿2 个月前
Windows PowerShell配置Qt5编译运行环境
windows·powershell·qt5
屯子来了3 个月前
window11 qt5.14.1 msvc2017 编译OpenDDS-3.33.0
c++·qt5·opendds·msvc2017
艾莉丝努力练剑3 个月前
【QT】常用控件(一):初识控件,熟悉QWidget
android·linux·数据库·qt·学习·mysql·qt5
艾莉丝努力练剑4 个月前
【QT】信号与槽
linux·开发语言·c++·人工智能·windows·qt·qt5