如何设置QDialog在exec()方法上不可见

How to set QDialog not visible on exec() method?

本文关键字:方法 exec QDialog 何设置 设置      更新时间:2023-10-16

我用exec()方法启动QDialog,现在我想让它不可见,直到它里面的一些内部对象(Qwebkit)将完成它的东西。
在QDialog构造函数中,我将其设置为:

setVisible(false);
hide()

但是当我这样做时,pAuthenticationDialogContainer是指向QDialog的指针:

if(pAuthenticationDialogContainer->exec() != QDialog::Accepted ) { ....}

我可以看到QDialog几秒钟(1-2秒)
我怎样才能使它完全不可见?
由于

您考虑过将用户按下的按钮与QDialog中的close()accept()插槽连接吗?

connect(pAuthenticationDialogContainer->loginButton,
        SIGNAL(clicked()),
        pAuthinticationDialogContainer,
        SLOT(accept()));

应该隐藏对话框。您将不得不使这段代码精确和测试它,但这应该自动为您做这些。除此之外,我认为发布条件的else条款的代码将是有帮助的。