欢迎来到天天文库
浏览记录
ID:50993122
大小:34.52 KB
页数:2页
时间:2020-03-08
《Qt窗口操作函数(最大化全屏隐藏最大化最小化).doc》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、Qt窗口中的一些小技术总结 //Qt主窗口没有最小化,最大化按钮且最大化显示 intmain(intargc,char*argv[]) { QApplicationa(argc,argv); TestQtForWinCEw; w.setWindowFlags(w.windowFlags()&~Qt::WindowMaximizeButtonHint&~Qt::WindowMinimizeButtonHint); w.showMaximized(); returna.exec(); } 这里的“&~”是取反以后再按位与的意思,下面的“
2、”是按位或的意思
3、//同时禁止最大化最小化按钮Qt::WindowMinMaxButtonsHint//也禁止关闭w.setWindowFlags(w.windowFlags()&~(Qt::WindowMinMaxButtonsHint
4、Qt::WindowCloseButtonHint)); Qt全屏显示函数 1、window.showFullScreen()//此方法只对顶级窗口有效,对子窗口无效 2、yourwidget->setWindowFlags(Qt::window
5、Qt::FramelessWindowHint); (第一个Qt::wi
6、ndow表示此widget是窗口类型,第二个参数使用无框架就是没有标题,状态栏和边框) Qt最大化显示函数 window.showMaximized()Qt最小化显示函数 window.showMinimized()Qt固定尺寸显示函数 window.resize(x,y) 子窗口全屏显示: QT中窗口部件QWidget成员函数showFullScreen();是用于将窗口部件全屏显示,但是他只对窗口模式的部件有用。子窗口的特征是Qt::SubWindow,不是独立的窗口。因此对其调用showFullScreen()无效。通
7、过对对子窗口调用:setWindowFlags(Qt::Dialog);或setWindowFlags(Qt::Window);将其设为窗口模式后,即可调用showFullScreen();进行全屏显示了。 如果要还原为普通窗口,调用setWindowFlags(Qt::subwindow)将子窗口设置为非顶级窗口,再调用showNormal()还原子窗口显示。参考: 相对于子窗口的全屏显示方法,不得不提的是子窗口退出全屏的方法。MFC中,子窗口退出全屏的方法简单直接,直接调用SetWindowPos()函数将子窗口显示到预定的位置即可。QT中
8、,直接使用move和resize对窗口定位是没有效果的。需要先将子窗口设位非窗口模式。之后再将窗口移到理想位置。 即先调用setWindowFlags(Qt::Dialog);或者setWindowFlags(Qt::SubWindow);在调用move和resize函数。有人提到退出全屏时,调用showNormal(),再调setWindowFlags(Qt::SubWindow)。这有两个问题:1)showNormal()也是只对顶级窗口有效。2)可以考虑先调用showNormal()将窗口设为原来大小,在将窗口设为子窗口模式。但这样窗口回到父
9、窗口之中也不会显示原来的大小。 获取屏幕宽度和高度QApplication::desktop()->width() ;QApplication::desktop()->height();即得到屏幕分辨率,如1024*768,800*600.2010-08-1810:58Qt主窗口没有最小化,最大化按钮且最大化显示//Qt主窗口没有最小化,最大化按钮且最大化显示intmain(intargc,char*argv[]){QApplicationa(argc,argv);TestQtForWinCEw;w.setWindowFlags(w.windowF
10、lags()&~Qt::WindowMaximizeButtonHint&~Qt::WindowMinimizeButtonHint);//w.showMaximized();w.showFullScreen();returna.exec();}
此文档下载收益归作者所有