我有一个主QWindow
和一个QFrame
(mainF
),其中包含一些其他gui元素。如果我点击QFrame
上的按钮:
QWindow
mainF->setWindowFlags(Qt::Dialog);
mainF->setWindowState((mainF->windowState(), Qt::WindowFullScreen));
mainF->show();
为了最小化QFrame
并将其再次置于之前的位置,我创建了一个QDialog
(m_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
标记无法正常工作。
哪里可能是我的错?