赞
踩
近期在学习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),将子窗口设置为非顶级窗口,
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。