有一个应用程序范围的模式对话框,允许用户登录以进一步使用应用程序。我现在如何正确地将其包含在应用程序中?像这样尝试:
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
MainWindow w;
LoginDialog * ldlg = new LoginDialog();
if(ldlg->exec() == QDialog::Accepted){
w.show();
}
return a.exec();
}
但它当然行不通。还有一个关于对话框应该返回什么的问题。据我了解,当一切正常时,您需要发送接受的信号
void LoginDialog::on_pushButton_ld_login_clicked()
{
Ops * temp = new Ops(nullptr, nullptr, ui->lineEdit_Login->text(), ui->lineEdit_Pass->text());
if(opLogin.Check(*temp)) emit accepted();
else emit rejected();
}
但话又说回来,我似乎误会了什么。如何给出正负输出呢?
代替接受的信号,尝试使用QDialog::accept方法:
您还可以使用QDialog::done方法从对话框中返回任意代码