Qt对话框如何从函数中触发accept()和reject()

Qt dialog how can I trigger accept() and reject() from function

本文关键字:accept reject 对话框 函数 Qt      更新时间:2023-10-16

我有这样的情况:从main.cpp文件打开QDialog窗口,然后根据QDialog的成功或失败等待exec()方法返回。像这样:

   int main( ... ) {
    LoginDialog *loginDlg = new LoginDlg;
    if( loginDlg->exec() != Qt:;Accepted ) {
    return 0;
    }
    //check the login Info
    delete loginDlg;
    MainWindow w;
    w.show()
    return app.exec();
    }

从我看到的Qt示例(地址簿)中,我可以使用accept()reject()插槽。问题是,我喜欢根据一些功能流关闭窗口,而不是确定/关闭按钮。如何从函数中触发这些插槽。

正如liaK所指出的,您可以从代码中调用以下函数:

loginDlg->accept();
loginDlg->reject();

您也可以使用结果作为参数调用以下等效函数:

loginDlg->done(QDialog::Accepted);
loginDlg->done(QDialog::Rejected);

附言:请注意,您的问题中没有指定Qt::接受值。正确的常量是QDialog::Accepted

只需调用它们即可。。它们是正常函数。。

例如:

loginDlg->accept();

另请参阅。。