作者:吴钧隆362 | 来源:互联网 | 2024-11-04 18:45
在全屏模式下优化Qt应用程序对Esc键的处理,通过为需要全屏显示的子窗口设置`setWindowFlags(Qt::Dialog)`属性,并调用`showFullScreen()`方法实现全屏显示。此方法确保了在全屏模式下,Esc键能够正确地退出全屏并恢复到正常窗口状态。此外,还对应用程序的全屏切换逻辑进行了优化,提升了用户体验。
lizhenneng
- 将要全屏的QT主窗口中的子窗口调用函数setWindowFlags(Qt::Dialog),然后调用showFullScreen()将子窗口全屏显示,也就是先将子窗口设为顶级窗口,然后全屏显示,因为showFullScreen()只对顶级窗口有效;
- 如要还原为普通窗口,调用setWindowFlags(Qt::subWindow)将子窗口设为非顶级窗口,再调用showNormal()还原子窗口正常显示。
自己实验了下,自己只需要将主窗口全屏与退出
全屏用到
w.showFullScreen(); //全屏
按esc 退出时只要重写程序keyPressEvent的事件
protected:
void keyPressEvent(QKeyEvent *event);
void S10::keyPressEvent(QKeyEvent *event)
{
// 响应Esc键以退出程序
if (event->key() == Qt::Key_Escape)
{
showMaximized(); //窗口最大化
}
}