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();
    }
相关推荐
码农新猿类3 天前
Qt中信号带参传值
qt·qt5
laimaxgg6 天前
Qt的网络编程
网络·c++·qt·qt5·qt6.3
laimaxgg9 天前
Qt窗口控件之浮动窗口QDockWidget
开发语言·c++·qt·qt5·qt6.3
勇敢滴勇10 天前
Qt信号与槽高级特性与项目实战:原理剖析与工程化应用指南
网络·数据库·c++·qt·qt5·qt6.3
laimaxgg14 天前
Qt窗口控件之字体对话框QFontDialog
开发语言·c++·qt·qt5·qt6.3
七七知享22 天前
2024 Qiniu 跨平台 Qt 高级开发全解析
开发语言·qt·零基础·操作系统·跨平台·qt5·精通
laimaxgg25 天前
Qt常用控件之表格QTableWidget
开发语言·前端·c++·qt·qt5·qt6.3
飞翔的煤气罐boom1 个月前
Qt:day1
c++·qt5
laimaxgg1 个月前
Qt常用控件之微调框QSpinBox
开发语言·c++·qt·qt5·qt6.3
laimaxgg1 个月前
Qt常用控件之多行输入框QTextEdit
开发语言·c++·qt·qt5·qt6.3