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();
    }
相关推荐
dllmayday7 天前
QWidget上叠加半透明QML组件显示方案
开发语言·qt5
蓝天智能11 天前
QT实战:Unix 系统内存异常排查
unix·qt5
GIS阵地13 天前
Qt实现简易仪表盘
开发语言·c++·qt·pyqt·qgis·qt5·地理信息系统
AI-嘉文哥哥17 天前
ADAS自动驾驶-前车碰撞预警(追尾预警、碰撞检测)系统
人工智能·深度学习·yolo·目标检测·数据分析·课程设计·qt5
nianniannnn2 个月前
Qt布局管理停靠窗口QDockWidget类
开发语言·数据库·c++·qt·qt5·qt6.3
举焰3 个月前
VSCode+MSVC+Qmake环境搭建笔记
c++·ide·笔记·vscode·msvc·qt5·qmake
眠りたいです4 个月前
Qt音频播放器项目实践:文件过滤、元数据提取与动态歌词显示实现
c++·qt·ui·音视频·媒体·qt5·mime
啊森要自信5 个月前
【QT】Qt 信号与槽的使用详解&&连接方式&&Lambda表达式定义槽函数
android·开发语言·c++·qt·qt5
chao_7896 个月前
标注工具核心代码解析——class AnnotationVie【canvas.py]
开发语言·python·qt5
foundbug9997 个月前
基于qt5和stk10开发的互联调试
qt5