首页 > 其他分享 >Qt InputDialog 置顶后模拟键盘输入失效问题

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

时间:2023-07-04 14:11:57浏览次数:58  
标签:Qt inputDialog InputDialog text QInputDialog 失效 置顶

开发环境:Qt5.12.2 + QtCreator4.8.2

1、问题背景

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

2、问题现象

  1)主窗口编辑框输入法有效

  

  2)QInputDialog 弹框输入法失效

  

3、问题原因

   初步怀疑是QInputDialog 置顶问题导致

4、问题解决

    /* 判断权限 */
//    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();
    }

  1)注释部分为失效代码

  2)未注释部分为功能替换部分,创建对象时需要指定父对象,否者窗口不会置顶

 

标签:Qt,inputDialog,InputDialog,text,QInputDialog,失效,置顶
From: https://www.cnblogs.com/yangjinghui/p/17525573.html

相关文章

  • ubuntu下新安装的qtcreator无法打开?编译好的qt程序缺少qtcore库文件?
    ubuntu下新安装的qtcreator无法打开?编译好的qt程序缺少qtcore库文件?试试添加qt和qtcreator到环境变量。sudovi/etc/profile新增exportQTDIR=你的qt根目录exportPATH=$QTDIR/bin:$PATHexportLD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATHexportQTCREATOR=你的qtcret......
  • Qt杂谈5.浅谈Qt程序乱码那些事
    1为啥聊这个?你是否也在为Qt程序乱码的问题发愁?网上查了一大堆文章,十篇文章九篇一样,虽然碰运气把问题解决了,但是下次遇到同样的问题还是无从下手,如果你想从根本上理解并解决这个问题,那么可以看看这篇文章,希望能帮到你。2从代码出发2.1使用的Qt版本本人的测试环境:Qt版本:Desk......
  • pyqt5-样式设置
    1、介绍pyqt5中,允许通过类似css的层叠样式表的形式,直接为组件声明显示样式,比如设置字体、字体颜色和背景色等。具体的是,是通过QWidget类中声明的setStyle或setStyleSheet方法设置。setStyle(self,a0:QStyle)setStyleSheet(self,styleSheet:str)style(self)->QStylesty......
  • 龙蜥7.9 rpm安装mqtt
    1、下载mqtt的rpm包,https://www.emqx.io/downloads?os=CentOS2、安装依赖,去http://rpmfind.net/下载openssl11和openssl11-libsopenssl11-1.1.1k-5.el7.x86_64.rpmopenssl11-libs-1.1.1k-5.el7.x86_64.rpm3、逐个安装lib、openssl11、emqx三个包,即可,后面的配置就和以前一样了......
  • Qt6.x版本下载与安装
    自从5.15版本开始,Qt对非商业版本(开源版本)不提供已经制作好的离线exe安装包,Qt6.x版本需要在线下载安装。 一、准备因为是在线下载,QT属于国外研发,下载速度受到限制。所以通过Fiddler更换代理,采用国内镜像进行下载。Fiddler下载地址:https://www.telerik.com/download/fiddler......
  • 【置顶】FZQOJ题解集(2023-07-01更新)
    #68.「NOIP2004」津津的储蓄计划题解题目传送门欢迎大家指出错误并联系这个蒟蒻更新日志2023-02-0117:20文章完成2023-02-0316:09文章审核通过2023-02-0422:15修改了注释2023-05-2709:27修改了$\LaTeX$2023-07-0115:45修改了代码题目知识点模拟题目分析......
  • qt 网络编程
    UDP是一个轻量级、不可靠、面向数据报的、无连接的协议,多用于可靠性要求不严格,不是非常重要的传输。//服务器端  h1=newQUdpSocket(this);h1.bind(5555,QUdpSocket::ShareAddress);//绑定端口号connect(h1,&QUdpSocket::readyRead,this,&xx::YY);//接受到其它地方发......
  • 【置顶】luogu题解集(2023-07-01更新)
    P8679[蓝桥杯2019省B]填空问题题解题目传送门欢迎大家指出错误并联系这个蒟蒻更新日志2023-05-2521:02文章完成2023-05-2711:34文章通过审核2023-06-2021:03优化了文章代码格式试题A:组队【解析】本题是一道经典的DFS搜索题,每次对各号位的选手进行DFS,......
  • qt this application failed to start because it could notfoind orloadthe Qt pla
    qt程序报错:thisapplicationfailedtostartbecauseitcouldnotfoind orloadtheQt platform ===================================C:\Users\lenovo>C:\Users\lenovo>C:\Users\lenovo>cdD:\software\Qt\install\Qt5_12_12\5.12.12\msvc2015_64\b......
  • Qt/C++编写超精美自定义控件(历时9年更新迭代/超202个控件/祖传原创)
    一、前言无论是哪一门开发框架,如果涉及到UI这块,肯定需要用到自定义控件,越复杂功能越多的项目,自定义控件的数量就越多,最开始的时候可能每个自定义控件都针对特定的应用场景,甚至里面带了特定的场景的一些设置和处理,随着项目数量的增多,有些控件又专门提取出来共性,做成了通用的自定义......