C++ Qt5从子对话框获取响应

C++ Qt5从子对话框获取响应,c++,qt,qdialog,C++,Qt,Qdialog,在我的Qt5.7程序中,我有一个密码安全性。在某些情况下,我想向用户询问密码。我想通过单独的QDialog来完成它。此对话框检查密码是否正确。这里有一个问题。如果授权是肯定的,我如何从“家长”对话框中进行检查 我的对话: 和显示对话框的代码: PasswordGet pass; pass.setWindowFlags(Qt::MSWindowsFixedSizeDialogHint); pass.setModal(true); pass.exec(); 总之,我想知道用户是单击取消(对话框刚

在我的Qt5.7程序中,我有一个密码安全性。在某些情况下,我想向用户询问密码。我想通过单独的QDialog来完成它。此对话框检查密码是否正确。这里有一个问题。如果授权是肯定的,我如何从“家长”对话框中进行检查

我的对话:

和显示对话框的代码:

PasswordGet pass;
pass.setWindowFlags(Qt::MSWindowsFixedSizeDialogHint);
pass.setModal(true);
pass.exec();
总之,我想知道用户是单击取消(对话框刚刚关闭),还是单击授权(密码正确,对话框关闭)


我该怎么做?我不想创建新的全局bool并从父对话框检查bool==1,这是不安全的。

不要重新发明轮子,使用Qt已经提供的密码对话框。如果您需要如何使用Qt对话框的示例,请参见此处的优秀示例:

您可能希望使用的是
QLineEdit::Password
。如果您希望用户输入:
QString password
,那么您的代码将如下所示:

bool ok;
QString text = QDialogEdit::getText(this, tr("Authorization"), tr("Password:"), QLineEdit::Password, QString(), &ok);

if(ok && text == password) // Success, do you're action here

PasswordGet是QDialog的子类吗?可能是@demonplus的副本谢谢你链接这个线程,它帮助我解决了我的问题。现在,我的线程可以复制了:/谢谢你的想法,但我已经用另一种方法解决了我的问题。@KamilKlecha如果可能的话,你应该在这里发布你的解决方案,并接受它,以使在你之后可能也在同一问题上挣扎的任何人受益!