开发环境: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