QT 如何隐藏最小化最小化窗体

9527人阅读
qt 对话框(4)
转载自/xp2107/blog/item/3de67ddb798ed.html
今天经过多番测试总结出对于继承自QDialog的类窗口显示最大化最小化按钮的方法,现总结如下:由于QDialog类的窗口默认只有“这是什么”和“关闭”按钮,为了能去掉那没用的这是什么按钮,加上最大化最小化按钮,需要更改窗口的WindowFlags属性,我的方法是在在窗口构造函数在加入如下代码:
Qt::WindowFlags flags=Qt::D
flags |=Qt::WindowMinimizeButtonH
setWindowFlags(flags);
第一行中Qt::Dialog是一个枚举类型,还有其他的几个值,如Qt::Popup则表示不显示窗口标题栏等。第二行就是把最小化按钮加入到flags变量中去,同样的方法也可以把最大化加入进去。第三行调用setWindowFlags函数设置Dialog的WindowFlags。保存运行就可以看见标题栏没了这是什么按钮,多了最小化按钮。
更详细的说明可以看QT的Demo。
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:174451次
积分:1887
积分:1887
排名:第17025名
转载:68篇
评论:17条
(1)(2)(6)(1)(12)(16)(7)(7)(20)QT开发(19)
转自:/blog/1409641
Qt窗口中的一些小技术总结
//Qt主窗口没有最小化,最大化按钮且最大化显示&
int main(int argc, char *argv[])&
QApplication a(argc, argv);&
TestQtForWinCE&
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() ;
即得到屏幕分辨率,如*600.
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:33943次
排名:千里之外
原创:37篇
转载:58篇
声明:部分文章转自网络,仅提供学习使用,向原创者致敬!Qt怎样让一个窗口点关闭按钮时不关闭而是最小化隐藏窗口,该如何处理 - QT开发当前位置:& &&&Qt怎样让一个窗口点关闭按钮时不关闭而是最小化隐藏Qt怎样让一个窗口点关闭按钮时不关闭而是最小化隐藏窗口,该如何处理&&网友分享于:&&浏览:378次Qt怎样让一个窗口点关闭按钮时不关闭而是最小化隐藏窗口让MessageBox的标题栏上只显示最小化图标,或者使点关闭时最小化,求教了。。。。谢谢------解决方案--------------------自定义MessageBox。。。相应closeEvent 事件系统自带的MessageBox不可以
------解决方案--------------------可以重写事件,好像也可以自定义图标
------解决方案--------------------重写closeEvent 事件
------解决方案--------------------探讨让MessageBox的标题栏上只显示最小化图标,或者使点关闭时最小化,求教了。。。。谢谢
12345678910
12345678910
12345678910 上一篇:下一篇:文章评论相关解决方案 12345678910 Copyright & &&版权所有程序运行现象是这样的,一个包含有QTableWidget的窗体,Item上使用方法嵌入的自定义的widget,上面显示下载进度条、按钮等等。当下载任务进行的时候,进度条是动态显示完成百分比的,此时将其最小化。当任务完成后,重新还原该窗体,进度条还保留在最小化时的程度,直到其它列表操作后才瞬间刷新到应该的样子。
判断问题原因是Qt窗体在最小化并没有进行实际上的update操作,直到它show出来后才进行刷新的,这样能够比较节省资源,提高运行效率和速度。本例中窗体在还原时虽然刷新,但是其中的QTableWidget却没有收到update的操作,这样就导致了显示内容不正常。 解决的办法是在Qt窗体中处理changeEvent(QEvent *e),当e-&type()== QEvent::WindowStateChange 时控制QTableWidget刷新界面。
void CloudStore::changeEvent(QEvent *e)
&qDebug()&& &CloudStore::changeEvent()&;
& switch (e-&type()) {
&&&&&&& case QEvent::WindowStateChange:
&&&&&& &if(m_usualAppTable){&&&&&&&&&&&&&&&&&&&&&&&&&&//m_usualAppTable&即为QtableWidget
&&&&&&&&&&m_usualAppTable-&update();
&&&&&& this-&repaint();
&&&& &e-&ignore();
& default:
&&&&&&&&&&&
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:3587次
排名:千里之外
(1)(4)(1)(1)可以使不想要的按钮消失掉,但是frame的框框还存在。
setWindowFlags(windowFlags()&~ Qt::WindowMinMaxButtonsHint);
setWindowFlags(windowFlags()&~ Qt::WindowCloseButtonHint);&& //Qt::WindowCloseButtonHint其实是一个值 0x
&&&&&&这里的“&~”是取反以后再按位与的意思,下面的“|”是按位或的意思。
&&&&&&但是如果都不想要的时候,一起使用的时候就无效了。
setWindowFlags(windowFlags()&~ (Qt::WindowMinMaxButtonsHint | Qt::WindowCloseButtonHint));
&&&&&&偶然间发现了一个问题,我感觉是个bug,就是如果固定窗口的大小,哪么这个全部都屏蔽掉的方案就成功了。
setFixedSize(679, 423);
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:23632次
排名:千里之外
原创:37篇
转载:108篇
(24)(2)(11)(19)(7)(11)(18)(1)(3)(17)(17)(16)}

我要回帖

更多关于 如何隐藏最小化 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信