QDialog作为顶级窗口不起作用

时间:2016-12-31 21:56:55

标签: qt qt4

我有一个主QWindow和一个QFramemainF),其中包含一些其他gui元素。如果我点击QFrame上的按钮:

,我会按如下方式最大化QWindow
  mainF->setWindowFlags(Qt::Dialog);      
  mainF->setWindowState((mainF->windowState(), Qt::WindowFullScreen));   
  mainF->show();

为了最小化QFrame并将其再次置于之前的位置,我创建了一个QDialogm_MinimizeFullscreenGui),其上有一个按钮,该按钮立即显示在右上角如果我最大化它,我的QFrame

QRect windowRectangle= m_MinimizeFullscreenGui->geometry();   
WindowRectangle.moveTopRight(QApplication::desktop()->availableGeometry().topRight());   
m_MinimizeFullscreenGui->setGeometry(windowRectangle);     
m_MinimizeFullscreenGui->setFixedSize(30, 30);   
m_MinimizeFullscreenGui->setWindowFlags(Qt::FramelessWindowHint | Qt::WindowStaysOnTopHint);   
m_MinimizeFullscreenGui->setWindowState(m_MinimizeFullscreenGui->windowState()); 
m_MinimizeFullscreenGui->show();

问题是:我希望我的小对话窗口始终位于最大化QFrame的顶层。但是,如果我点击QFrame上的某个位置,对话框窗口就会显示在后台,因此Qt::WindowStaysOnTopHint标记无法正常工作。

哪里可能是我的错?

0 个答案:

没有答案