当按下按钮时,我从 QMainwindow 打开第二个 QDialog 窗口。这是我的代码
Run Code Online (Sandbox Code Playgroud)newFile = new Dialog(); if(fStatus == 0) { newFile.show(); fStatus = 1; } else if(fStatus == 1) { newFile.raise(); }
我想做的是,如果 QDialog 窗口已经打开并且再次按下按钮,我希望我的 QDialog 窗口移到前面。
我已经尝试使用 Qwidget 形式进行相同的操作,它正在工作,但是 Qdialog raise(); 不起作用,但在 Qwidget 的情况下,我无法正确捕获窗口关闭时 Qwidget 被破坏的信号。
我没有测试它,但从我读到的内容中我发现了这一点:
\n\nyourQWidget->show();\nyourQWidget->activateWindow();\nyourQWidget->raise();\nRun Code Online (Sandbox Code Playgroud)\n\n\n\nQDialog *yourQDialog = new ...\nyourQDialog->setWindowFlags(yourQDialog->windowFlags() | Qt::WindowStaysOnTopHint);\nyourQDialog->show();\nRun Code Online (Sandbox Code Playgroud)\n\n\n\n另请看这个问题:Bring window to front -> raise(),show(),activateWindow() don\xe2\x80\x99t work\n
\n| 归档时间: |
|
| 查看次数: |
2475 次 |
| 最近记录: |