简体   繁体   English

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

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

From my QMainwindow I am opening a second QDialog window when a pushbutton is pressed.This is my code 在我的QMainwindow中,当按下按钮时,我将打开第二个QDialog窗口。这是我的代码

  newFile = new Dialog(); if(fStatus == 0) { newFile.show(); fStatus = 1; } else if(fStatus == 1) { newFile.raise(); } 

What I am trying to do is if the QDialog window is already open and the push button is pressed again I want my QDialog window to move to front. 我想做的是,如果QDialog窗口已经打开并且再次按下按钮,我希望我的QDialog窗口移到前面。

I have tried same with Qwidget form it is working but Qdialog raise(); 我已经尝试过与Qwidget相同,因为它可以工作,但是Qdialog raise(); is not working,but in case of Qwidget I am not able not capture the Qwidget destroyed signal on closing of the widow properly. 无法正常工作,但是在Qwidget的情况下,我无法在关闭寡妇时正确捕获Qwidget销毁信号。

I didn't tested it but from what I read I found this : 我没有对其进行测试,但是从我的阅读中发现:

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

How to Bring the Widget Bring to front in QT? 如何将小部件带入QT的前沿?

QDialog *yourQDialog = new ...
yourQDialog->setWindowFlags(yourQDialog->windowFlags() | Qt::WindowStaysOnTopHint);
yourQDialog->show();

Bring QDialog to front 将QDialog带到前面

Also loook at this question: Bring window to front -> raise(),show(),activateWindow() don't work 也看这个问题: 将窗口置于最前面-> raise(),show(),activateWindow()不起作用

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

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