近期在学习QT时遇到了很多问题这也是其中一个,个人通过在各种书籍和网络上的查阅找到了一些关于这方面的答案,希望能给大家一些帮助。

首先,在QT中对于窗口显示常用的有这么几个方法可以调用:

Qt全屏显示函数            showFullScreen() 
Qt最大化显示函数         showMaximized()
Qt最小化显示函数         showMinimized()
Qt固定尺寸显示函数      resize(x,y)
Qt设置最大尺寸函数      setMaximumSize(w,h)
Qt设置最小尺寸函数       setMinimumSize(w,h)

但是 showFullScreen()只对顶级窗口有效果,对子窗口无效;
setWindowFlags (Qt::Window | Qt::FramelessWindowHint);第一个参数表示此控件是窗口类型,第二个表示去除边框,状态栏,没有框架。其实与showFullScreen() 函数的原理差不多。

其次要将子窗口全屏显示可用以下方法:
        将要全屏的Qt主窗口中的子窗口调用函数setWindowFlags(Qt::Dialog),或者调用setWindowFlags(Qt::Window)将其类型提升为顶级窗口模式,然后调用showFullScreen()函数将子窗口全屏显示。也就是先将子窗口全屏显示前设置为顶级窗口,然后进行全屏显示,注意顺序不能颠倒。因为showFullScreen()函数只对顶级窗口有效。
        当然全屏后还要恢复正常,即调用setWindowFlags(Qt::subwindow),或者setWindowFlags(Qt::Dialog),将子窗口设置为非顶级窗口,再调用showNormal()还原子窗口显示。直接调用mywindow.resize(x,y)是没有效果的。注意函数的调用顺序不能颠倒,否者不会还原。原因很简单,因为showNormal()也只对顶级窗口有效。所以必须将它设为非顶级窗口再调用。
        你如果需要知道屏幕的高宽可以调用以下函数:
          QApplication::desktop ()->height();
        QApplication::desktop ()->width();
例如:
       全屏显示:
       VideoWidget->setWindowFlags (Qt::Window);
       VideoWidget->showFullScreen ();
       退出全屏时:
    VideoWidget->setWindowFlags (Qt::SubWindow);
       VideoWidget->showNormal ();
      退出全屏时你可以有鼠标右键单击屏幕弹出菜单获得,也可以捕获键盘事件获得如:
      keyPressEvent(QKeyEvent *keyset)
     {
      if(keyset->key()==Qt::Key_Escape){
           VideoWidget->setWindowFlags (Qt::SubWindow);
           VideoWidget->showNormal ();
     }

}

QT中关于窗口全屏显示与退出全屏的实现相关推荐

  1. JSP网页全屏显示、退出全屏、关闭页面

    [转]JSP网页全屏显示.退出全屏.关闭页面 jsp相关知识 2009-06-07 20:36:42 阅读108 评论0   字号:大中小 订阅 全屏显示 ---------------------- ...

  2. 网页全屏显示以及退出全屏,包括单个元素全屏显示

    在一些场景中我们希望网页能够全屏显示,这样可展示的区域更大,也就是隐藏浏览器的地址栏和页签栏,上代码 为了方便调用直接进行了封装,同时也做了兼容性处理,(如果你觉得我代码写的垃圾让你不知道该怎么调,那 ...

  3. Qt 关于窗口全屏显示与退出全屏的实现

    可以用以下API实现 showFullScreen(); //全屏,窗口底部任务栏没有了 showMaximized(); //最大化显示,有底部任务栏 注意:以上对顶级窗口有效果,对子窗口无效. 如 ...

  4. 网页全屏显示与退出全屏功能

    效果图示 点击后全屏显示,并且图标发现变化.全屏后,点击同一按钮,会退出全屏. 代码 // 全屏切换代码 var FullscreenFlag = false; $('#toggle-fullscre ...

  5. Qt中利用定时器QTimer实时显示当前日期和时间

    Qt中利用定时器QTimer实时显示当前日期和时间 时显示当前日期和时间.下面说明方法: 1. 在工程中声明一个全局QTimer对象 QTimer *timer; 2. 在构造函数中定义QTimer, ...

  6. 手机投屏不是全屏怎么办_手机投屏win10怎么退出全屏详细图文教程

    出于某些原因,我们可能需要将手机屏幕投放到电脑上,不少小伙伴在网上苦苦搜寻投屏软件,当然有不错的,但是我个人觉得纯投屏的话.不用键盘操作的话,还是win10自带的投屏最好,支持传输声音,画质非常好,无 ...

  7. 关于Qt中QDialog对话框调用exec()函数界面退出造成僵尸程序问题

    关于Qt中QDialog对话框调用exec函数产生的问题 问题一: 问题描述: 原因分析: 解决方案: 问题二: 问题描述: 求助:关于这个问题,学识尚浅,求大佬分析一波 问题一: QDialog对话 ...

  8. 华为手机怎么设置应用不全屏显示_手机投屏智能电视画面比例不合适怎么办?...

    手机投屏到电视的比例不对怎么办 知乎上有网友私下:"苹果手机屏幕镜像投屏到电视上,画面不能全屏,然后在网上查了一下是因为显示比例的问题,请问怎么解决?" 这个问题说简单也简单,说难 ...

  9. 华为笔记本开发android,EMUI 11曝光!华为魔改 Android 11:息屏显示、智慧分屏焕然一新...

    EMUI 11曝光!华为魔改 Android 11:息屏显示.智慧分屏焕然一新 2020-08-29 10:25:30 1点赞 0收藏 0评论 8月28日消息,据国内知名数码博主透露,华为对即将发布的 ...

最新文章

  1. WMI技术介绍和应用——查询磁盘分区和逻辑磁盘信息
  2. Cocos2d-x 3.8.1+Cocos Studio 2.3.2捉虫记之控制场景文件中的骨骼动画
  3. 南岸焊接机器人厂_焊接技术的发展历史,世界焊接发展200年回顾,你了解焊接吗?...
  4. easyre-153 testre寒假逆向生涯(13/100)
  5. 数据库记录的添加、修改、删除(DataAdapter、DataTable 、DataRow )
  6. SAP UI5 GM6 require sap.ui.core.Core
  7. 单片机控制两个步进电机画圆_51单片机控制两个步进电机
  8. C# 进程Process基本的操作说明
  9. java单链表查询功能,Java 实现简答的单链表的功能
  10. 160 - 8 Andrnalin.1
  11. C++ STL 学习笔记 3. 文本文件操作
  12. php 数据相加,PHP数组合并之array_merge和数组相加
  13. 【数学基础】一份非常适合人工智能学习的线性代数基础材料中文版 (国内教材精华)...
  14. Mysql上周,上月,去年同期年周数
  15. 浏览器-Charset:Chrome浏览器升级后右键工具中的编码修改功能没有了的解决工具
  16. 1分钟轻松爬数据(web scraper插件使用教程)
  17. flutter 打包apk
  18. 教你两步生成Maven包
  19. ShopXO开源电商系统源码支持PC+H5支付宝小程序微信小程序百度小程序头条amp;抖音小程序QQ小程序APP等
  20. 一个超赞的智慧园区地图导航解决方案,如何实现园区路线导航?

热门文章

  1. boost::python::dict相关的测试程序
  2. boost::mpl模块as_sequence的测试程序
  3. boost::fibers模块实现multiple streams的测试程序
  4. boost::describe模块实现string转enum的测试程序
  5. boost::coroutine模块实现不对称echo的测试程序
  6. ITK:二进制和两个图像
  7. VTK:可视化算法之SingleSplat
  8. Qt Linguist TS文件格式
  9. QT的QWaitCondition类的使用
  10. QT的QListWidget类的使用