zoukankan      html  css  js  c++  java
  • Qt窗口操作函数(最大化,全屏,隐藏最大化,最小化)

    转自:https://blog.csdn.net/pamxy/article/details/9012221

    转自:http://blog.csdn.net/zhangshan415/article/details/8463532

    //Qt主窗口没有最小化,最大化按钮且最大化显示 

    int main(int argc, char *argv[]) 

    QApplication a(argc, argv); 

    TestQtForWinCE w; 

    w.setWindowFlags(w.windowFlags()& ~Qt::WindowMaximizeButtonHint& ~Qt::WindowMinimizeButtonHint); 

    w.showMaximized(); 

    return a.exec(); 

    }

    这里的“&~”是取反以后再按位与的意思,下面的“|”是按位或的意思

    //同时禁止最大化最小化按钮

    Qt::WindowMinMaxButtonsHint

    //也禁止关闭

    w.setWindowFlags(w.windowFlags() &~ (Qt::WindowMinMaxButtonsHint | Qt::WindowCloseButtonHint));

    Qt全屏显示函数        

    1、window.showFullScreen()//此方法只对顶级窗口有效,对子窗口无效

    2、yourwidget->setWindowFlags(Qt::window | Qt::FramelessWindowHint); 

       (第一个Qt::window表示此widget是窗口类型,第二个参数使用无框架就是没有标题,状态栏和边框)

    Qt最大化显示函数         window.showMaximized()

    Qt最小化显示函数         window.showMinimized()

    Qt固定尺寸显示函数         window.resize(x,y)

    子窗口全屏显示:

            QT中窗口部件QWidget成员函数showFullScreen();是用于将窗口部件全屏显示,但是他只对窗口模式的部件有用。子窗口的特征是 Qt::SubWindow,不是独立的窗口。因此对其调用showFullScreen()无效。通过对对子窗口调 用:setWindowFlags(Qt::Dialog);或setWindowFlags(Qt::Window);将其设为窗口模式后,即可调用 showFullScreen();进行全屏显示了。

            如果要还原为普通窗口,调用setWindowFlags(Qt::subwindow)将子窗口设置为非顶级窗口,再调用showNormal()还原子窗口显示。

    参考:

    相对于子窗口的全屏显示方法,不得不提的是子窗口退出全屏的方法。

    MFC中,子窗口退出全屏的方法简单直接,直接调用SetWindowPos()函数将子窗口显示到预定的位置即可。

    QT中,直接使用move和resize对窗口定位是没有效果的。需要先将子窗口设位非窗口模式。之后再将窗口移到理想位置。 

    即先调用setWindowFlags(Qt::Dialog);或者setWindowFlags(Qt::SubWindow);在调用move和resize函数。

    有人提到退出全屏时,调用showNormal(),再调setWindowFlags(Qt::SubWindow)。

    这有两个问题:1)showNormal()也是只对顶级窗口有效。2)可以考虑先调用showNormal()将窗口设为原来大小,在将窗口设为子窗口模式。但这样窗口回到父窗口之中也不会显示原来的大小。

    获取屏幕宽度和高度

    QApplication::desktop()->width()  ;

    QApplication::desktop()->height() ;

    即得到屏幕分辨率,如1024*768,800*600.

    本人时常将工作过程中用到的一些好的例子会装载写到博客中,希望对各位博友有帮助,有些博客文章也会自写工作中遇到的问题和解决方法。

  • 相关阅读:
    Atitit.Java exe bat  作为windows系统服务程序运行
    Atitit. Object-c语言 的新的特性  attilax总结
    Atitit. Object-c语言 的新的特性  attilax总结
    Atitit。Time base gc 垃圾 资源 收集的原理与设计
    Atitit。Time base gc 垃圾 资源 收集的原理与设计
    Atitit.go语言golang语言的新的特性  attilax总结
    Atitit.go语言golang语言的新的特性  attilax总结
    Atitit.pdf 预览 转换html attilax总结
    Atitit.pdf 预览 转换html attilax总结
    Atitit.office word  excel  ppt pdf 的web在线预览方案与html转换方案 attilax 总结
  • 原文地址:https://www.cnblogs.com/feigen/p/11280723.html
Copyright © 2011-2022 走看看