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();
    }
相关推荐
StruggleRookie21 天前
ubuntu20.4安装Qt5.15.2
ubuntu·qt5
HelloTonyGo22 天前
QT5实现https的post请求(QNetworkAccessManager、QNetworkRequest和QNetworkReply)
https·wireshark·ssl·post·qt5
29747860481 个月前
Qt基础类03-直线类QLine
qt·qt5·qline·qlinef·直线类
29747860481 个月前
QT基础之【模块】
模块·module·入门·基础·qt5
yayapoi~1 个月前
qml formLayout实现方式
qt5·qml
Whale_XH2 个月前
基于QT实现的简易WPS(已开源)
wps·qt5·qt项目
炫酷的伊莉娜2 个月前
【QT】常用控件(概述、QWidget核心属性、按钮类控件、显示类控件、输入类控件、多元素控件、容器类控件、布局管理器)
qt·qt creator·控件·qt5·qwidget
南猿北者2 个月前
Qt窗口介绍
笔记·qt·学习·qt5
炫酷的伊莉娜2 个月前
【QT】QT 概述(背景介绍、搭建开发环境、Qt Creator、程序、项目文件解析、编程注意事项)
c++·qt·ui·qt creator·qt5·对象树
王十二er3 个月前
QT跨平台开发(windows、mac)中.pro文件设置
开发语言·qt5