本文主要是介绍QInputDialog 置顶后模拟键盘输入失效问题,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
一、开发背景
嵌入式 linux-arm 触摸屏移植了谷歌拼音输入法后测试使用问题
二、开发环境
Qt5.12.2 + QtCreator4.8.2
三、实现步骤
1、问题现象
QInputDialog 弹框后输入法点击无效,下面是效果图
2、解决方法
不使用类静态接口,创建对象来实现,代码如下,其中注释的代码与输入法冲突
/* 判断权限 */
// 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();}
这篇关于QInputDialog 置顶后模拟键盘输入失效问题的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!