繁体   English   中英

QDialog的raise()函数如何不起作用?

[英]How to QDialog raise() function is not working?

在我的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()不起作用

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM