QT 子窗口退出全屏
m_pWidget代表子窗口,
子窗口显示全屏:
m_pWidget->setWindowFlags(Qt::Dialog); m_pWidget->showFullScreen();
子窗口退出全屏:
m_pWidget->showNormal(); m_pWidget->setWindowFlags(Qt::SubWindow); m_pWidget->showMaximized();
退出全屏时,前两句代码运行后,子窗口回到全屏前位置,
但是是最小化的,需要将其显示最大化,即添加最后一句代码即可。
试用其他的退出全屏方法,
如调用 setWindowFlags(Qt::Dialog) 或 setWindowFlags(Qt::SubWindow) 先将子窗口设置为非顶层窗口,
再将子窗口移动到全屏前的位置,以及大小设置为全屏前的大小,再调用showNormal(),
此种情况确实可以退出全屏,但是子窗口并没有挂到原本的父窗口下,
如果将父窗口移动,则退出全屏后的子窗口仍在退出后的位置,脱离了父窗口,
很尴尬。