(转)Qt中窗口按钮显示总结
2013-07-22 13:47
176 查看
Qt窗口操作函数(最大化,全屏,隐藏最大化,最小化)
转自: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.
相关文章推荐
- Qt|Qt禁用最大化按钮时最大化显示窗口
- Qt 禁用最大化按钮时最大化显示窗口
- 关于Qt中LOGO与窗口图标显示问题的总结
- Qt 结构体 正则表达 居中显示 页面置顶 页面全局化 标题命名 标题最大化等按钮失效 去标题栏令窗口不可移动
- Qt窗口-仅显示关闭按钮
- Qt浮动按钮的实现(使用窗口背景透明、实现只显示浮动按钮的目的)
- 试设计一个窗口,内含一个按钮。开始运行时,按钮显示“Click Me”字样,当按钮按下时,按钮显示为“Click Me Again”字样,再按一次,则按钮显示“Click Me”字样,依此循环。
- Qt 设置窗口居中显示
- Qt常用窗口组件使用总结
- 单选按钮 控制 输入框显示 的总结
- qt界面窗口旋转90度显示
- 让Qt的窗口最小化最大化及关闭按钮都消失
- Qt中创建场景并将该创景显示在窗口上面实例
- Qt去除最大化最小化按钮并最大化显示
- QT中Dialog显示最大化最小化按钮
- 一个窗口里包含一个iframe,点击iframe内的submit按钮,返回的视图总是显示在iframe中,我想要的效果是点击按钮后返回的视图是在浏览器窗口中...?asp.net mvc 的action中,不用js怎么实现??????????
- Qt窗口中的一些小技术总结
- Qt全屏显示窗口、子窗口的相关函数
- Qt窗口屏幕居中显示
- Qt自定义界面类并提升(提升的窗口部件),把OpenGL绘制的图形显示在QT的ui界面上