我有情况我从 main.cpp 文件打开QDialog
窗口然后我等待exec()
方法根据{成功或失败返回{1}}。像这样:
QDialog
从Qt示例(地址簿)中我看到我可以使用 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();
}
和accept()
个广告位。
问题是我喜欢基于某些功能流关闭的窗口,而不是ok / close按钮。
如何从功能中触发这些插槽?
答案 0 :(得分:6)
正如liaK所指出的那样,您只需从代码中调用以下函数:
loginDlg->accept();
loginDlg->reject();
您还可以使用结果作为参数调用以下等效函数:
loginDlg->done(QDialog::Accepted);
loginDlg->done(QDialog::Rejected);
PS:请注意,您的问题中没有指定Qt :: Accepted值。 正确的常量是QDialog :: Accepted
答案 1 :(得分:4)