热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Qt应用程序全屏模式下的Esc键处理优化

在全屏模式下优化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();  //窗口最大化
    }
}


推荐阅读
author-avatar
吴钧隆362
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有