从我的QMainwindow中,当按下按钮时,我正在打开第二个QDialog窗口。这是我的代码
newFile = new Dialog(); if(fStatus == 0) { newFile.show(); fStatus = 1; } else if(fStatus == 1) { newFile.raise(); }
我正在尝试做的是,如果QDialog窗口已经打开并且再次按下按钮,我希望我的QDialog窗口移动到前面。
我已经尝试过与Qwidget形式相同的方法,它正在工作,但是Qdialog raise((不起作用,但是在Qwidget的情况下,我无法在寡妇关闭时捕获Qwidget破坏的信号。
我没有
测试它,但从我读到的内容中我发现这个:
yourQWidget->show();
yourQWidget->activateWindow();
yourQWidget->raise();
如何在QT中将小部件放在前面?
QDialog *yourQDialog = new ...
yourQDialog->setWindowFlags(yourQDialog->windowFlags() | Qt::WindowStaysOnTopHint);
yourQDialog->show();
将QDialog放在前面
还要注意这个问题:将窗口放在前面 -> raise((,show((,activateWindow(( 不起作用