Я создал логин входа в систему, используя QDialog, который имеет слот bool Login::on_OKbutton_Clicked()
, который возвращает статус успешного входа в систему public: bool loginsucessful
, и после этого я хочу сделать некоторые оценки на основе этого результата, выглядит код как это:QDialog show() следовать с действиями результата возврата
//Login class
Login::Login(QString Ver, QWidget *parent) :
QDialog(parent),
ui(new Ui::Login)
{
public:
bool loginsucessful = 0;
bool on_OKbutton_Clicked()
{
// login data acquisition and verification
if (verification_passed) { loginsucessful = 1};
}
//outer codes
Login *login = new Login(ver);
login->show();
//here is the question
if (login.loginsucessful)
{...}
else {...}
Я хочу if
folloeups выполнить после того, как Логин GUI был завершен (OK или кнопку Отмена щелкнул), но .show()
не будет делать, я попытался .exec()
, но будет конфликтовать с вне кодов, как (QApplication) a.exec()
вызывая неразрешенные проблемы процесса.
Я только начинаю программировать с Qt, так что есть хорошее решение, которое ждет GUI и excute следующие коды после его закрытия? Большое спасибо!
Вы пробовали 'login-> Exec()'? – nib