C++ 如何处理QDialog raise()函数不起作用?

C++ 如何处理QDialog raise()函数不起作用?,c++,qt,qmainwindow,qdialog,C++,Qt,Qmainwindow,Qdialog,在我的Qmain窗口中,当按下按钮时,我正在打开第二个QDialog窗口。这是我的代码 我想做的是,如果QDialog窗口已经打开,并且再次按下按钮,我希望我的QDialog窗口移到前面 我也尝试过同样的Qwidget表单,但Qdialog提高了;不工作,但在Qwidget的情况下,我无法正确捕获关闭寡妇时Qwidget销毁的信号。我没有测试它,但从我的阅读中发现: yourQWidget->show(); yourQWidget->activateWindow(); yourQWi

在我的Qmain窗口中,当按下按钮时,我正在打开第二个QDialog窗口。这是我的代码

我想做的是,如果QDialog窗口已经打开,并且再次按下按钮,我希望我的QDialog窗口移到前面


我也尝试过同样的Qwidget表单,但Qdialog提高了;不工作,但在Qwidget的情况下,我无法正确捕获关闭寡妇时Qwidget销毁的信号。

我没有测试它,但从我的阅读中发现:

yourQWidget->show();
yourQWidget->activateWindow();
yourQWidget->raise();

我还想问这个问题:

我没有测试它,但从我读到的内容来看,我发现:

yourQWidget->show();
yourQWidget->activateWindow();
yourQWidget->raise();

另外,请看这个问题:

如果将窗口设置为对话框的父级,会发生什么情况?请提供一个。如果将窗口设置为对话框的父级,会发生什么情况?请提供一个。
QDialog *yourQDialog = new ...
yourQDialog->setWindowFlags(yourQDialog->windowFlags() | Qt::WindowStaysOnTopHint);
yourQDialog->show();