QT之隐藏任务栏图标
2016-12-14 20:54
651 查看
QT之隐藏任务栏图标
QT之隐藏任务栏图标应用背景
效果图
上代码
结尾
应用背景
我们在某些场景下,我们不希望在任务栏上出现我们的窗口的图标,类似QQ主面板,你会发现QQ主面板其实是没有任务栏图标的,那么我们该怎么做?也能让我们的任务栏不显示我们不想要的图标呢!在这之前我们需要了解下QT里的parent参数。我们在写界面的时候,几乎每个构造函数里都会有一个parent参数。这个参数通常是QObject* 或者是 QWidget* 类型的。初始值0,我们基本上也没理会,但是你有没有想过,这个parent有什么作用呢?
“对话框”,对话框一般是不作为顶层容器出现的,因此在任务栏上是没有对话框的位置的,指定对话框的parent属性,任务栏就不会出现图标。如果你不指定,这个对话框就成为顶层容器了,任务栏会出现图标。利用这个特性,就可以实现我们的窗体是否需要在任务栏上出现。
另外很重要的就是,parent参数指明了父窗口,当父窗口delete时,Qt可以保证所有子窗口都会被正确的delete掉,具体,可以参考我前篇文章QT之内存泄漏管理里面有谈到,如何通过设置父窗口,保证我们的内存安全。
效果图
这里大家可以看到我启的应用在任务栏上出现了。大家注意,我右边,以代表我是真的启了应用,但是在我的任务栏上是没有出现图标的。
上代码
//其实很简单,只要对窗口对象,设置一个父窗口就行。 int main(int argc, char *argv[]) { QApplication a(argc, argv); QApplication::setQuitOnLastWindowClosed(false); QWidget* parent = new QWidget; Demo *pDemo = new Demo(parent); pDemo->show(); pDemo->activateWindow(); int ret = a.exec(); delete parent; return ret; } //还有另外一种方法就是,我们不设置parent属性,使用QT标志位。 //setWindowFlags(Qt::Tool);这样任务栏也不会出现窗口图标
注意:我们在使用parent属性或者Qt::Tool时,最小化的时候,会出现左下角出现一块窗口区域情况,这种情况,你只要最小化的时候使用hide()就不会出现了。
如果你想使用我此篇Demo做测试,可到QT之样式styleSheet去下载源码。
结尾
只为记录,只为分享! 愿所写能对你有所帮助。Good Good Study, Day Day Up!如果你觉得所写的对你有帮助,默默点个赞哈,你的赞就是我最大的支持,嘿嘿~不要说我骗赞哦,(^__^)
相关文章推荐
- 如何隐藏QT窗口在任务栏(taskbar)的任务图标
- 隐藏QT窗口在任务栏中的图标
- qt 隐藏任务栏图标和边框
- Qt设置窗体标题栏隐藏和窗口是否有任务栏图标
- qt关于一些托盘,任务栏图标隐藏,无边框等的一些窗口的效果
- 如何隐藏QT窗口在任务栏(taskbar)的任务图标
- win7中如何隐藏pcanywhere任务栏图标
- 最小化时隐藏为任务栏图标
- 隐藏程序的任务栏图标
- 最小化时隐藏为任务栏图标
- VS下Qt应用程序图标和任务栏图标设置
- Qt设置任务栏图标
- 用vbscript实现隐藏任务栏图标的脚本
- C#最小化时隐藏为任务栏图标
- winform实现任务栏隐藏、通知栏图标及右键、类似QQ隐藏窗体等功能
- C#编写最小花时隐藏为任务栏图标的Window appllication
- Qt 5 设置窗体无边框且在任务栏能够看到图标
- C#编写最小化时隐藏为任务栏图标的Window appllication.
- C#编写最小化时隐藏为任务栏图标的
- 隐藏系统的任务栏、桌面图标