- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Qt窗口操作函数(最大化,全屏,隐藏最大化,最小化)
Qt窗口中的一些小技术总结
?
//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.
2010-08-18 10:58
Qt主窗口没有最小化,最大化按钮且最大化显示
//Qt主窗口没有最小化,最大化按钮且最大化显示int main(int argc, char *argv[]){QApplication a(argc, argv);TestQtForWinCE w;
w.setWindowFlags(w.windowFlags() ~Qt::WindowMaximizeButtonHint ~Qt::WindowMinimizeButtonHint);//w.showMaximized();w.showFullScreen();
return a.exec();}
文档评论(0)