一、开发背景
嵌入式 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();
}