Qt设置不在win任务栏显示将无法正常关闭程序

money939 2013-02-07 10:48:22
1、windows下
2、用Qt Creator

%%:使用widget.setWindowFlags() 参数使用:Qt::Tool、 Qt::SubWindow 、 Qt::Popup
以上三个参数任意选用一个均可以实现Qt程序在运行时,windows的任务栏上不显示该Qt程序。

##:我对widget设置去掉了标题栏,于是为了关闭程序我重写了void mousePressEvent(QMouseEvent *event)实现了鼠标右击时关闭该窗体。调用的是close()函数


如果我只是单独实现##没有实现%%,##是可以正常使用的。但是我加上%%的功能后,用Qt Creator运行了,
再对其右击时发现Qt creator的输出框并没有显示该应用程序已经关闭!!!但是屏幕上的窗体确实是消失了!!!此时我尝试去关闭Qt Ctreator会有提示说:是否要强制关闭(我刚刚运行的程序)。这就更加说明了我的程序没有正常退出!!!

如何在实现%%and##的条件下让程序可以正常关闭~
谢谢大家
...全文
1943 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
z55716368 2015-05-11
  • 打赏
  • 举报
回复
请问楼主你最后是怎么解决的啊 我现在也是和你一样的问题 搞不来。
夏逸 2013-03-29
  • 打赏
  • 举报
回复
建议从内部发出终止信号,来结束整个程序。
money939 2013-02-08
  • 打赏
  • 举报
回复
对了,你说的源代码是什么意思?
money939 2013-02-08
  • 打赏
  • 举报
回复
用exit()确实解决了问题!非常感谢 文档里说用quitOnLastWindowClosed设成false可以关闭该特性,可是这个函数我的窗体widget里根本没有这个函数额…… 百度到: Application.Exit 方法 通知所有消息泵必须终止,并且在处理了消息以后关闭所有应用程序窗口。 Form.Close 方法 关闭窗体。 如果该窗体是应用程序的主启动窗体,则調用窗体的Close()方法,跟調用Application.Exit的效果差不多。 如果该窗体非主启动窗体,则只是关闭该窗体而不关闭整个应用程序。 大概明白了,非常感谢版主,小弟半玩半学Qt十来天,对信号还不是很清楚……
dext 2013-02-07
  • 打赏
  • 举报
回复
找了找源代码,发现原本Qt 就有一个信号解决这个问题。。。 看来对 Qt Document 还有待进一步学习。 void QApplication::lastWindowClosed () [signal] This signal is emitted from QApplication::exec() when the last visible primary window (i.e. window with no parent) with the Qt::WA_QuitOnClose attribute set is closed. By default, this attribute is set for all widgets except transient windows such as splash screens, tool windows, and popup menus QApplication implicitly quits when this signal is emitted. This feature can be turned off by setting quitOnLastWindowClosed to false. See also QWidget::close().
dext 2013-02-07
  • 打赏
  • 举报
回复
qApp->exit();
dext 2013-02-07
  • 打赏
  • 举报
回复
没有试验,可能会有以这样的问题。但不是Qt的问题。默认情况下,Qt会在最后一个窗口关闭后退出主程序。类似于关闭主窗口就退出。但是当你把窗口设置成 上边的情况时,可能是你的窗口失去了“主窗口”的特性,而导致程序不能正常关闭。你也可以自己查看Qt的源代码确认此事。
内容概要:本文系统研究了基于CNN-SVM的卷积神经网络与支持向量机融合的数据分类预测方法,聚焦其在工业故障识别中的应用,提供了完整的Matlab代码实现。通过CNN提取输入数据的深层空间特征,再由SVM进行高精度分类,充分发挥两者优势,有效提升了故障识别的准确性、鲁棒性与泛化能力。该方法特别适用于处理电力系统、机械设备等领域的高维、非线性、强噪声监测数据,在变压器故障诊断、轴承缺陷识别等场景中具有重要应用价值。文档还整合了机器学习、深度学习、图像处理、路径规划、电力系统优化等多个前沿科研方向的技术资源,配套大量Matlab/Simulink仿真案例与Python代码,全面支持科研复现与工程实践。; 适合人群:具备一定编程基础,熟练掌握Matlab或Python语言,从事电气工程、自动化、人工智能、机械故障诊断等相关领域研究的研发人员及高校研究生; 使用场景及目标:① 实现工业设备的状态监测与多类别故障分类;② 深入理解CNN与SVM融合模型的设计原理与工程实现细节;③ 借助所提供的丰富算法案例开展科研复现、模型优化与系统仿真验证; 阅读建议:建议按照文档目录结构系统化学习,结合百度网盘提供的完整代码资源进行动手实践,重点关注CNN特征提取层与SVM分类器之间的数据接口设计与参数调优策略,同时可延伸学习文中涉及的其他智能算法及其在电力系统、信号处理等领域的交叉应用,全面提升科研创新能力。

21,503

社区成员

发帖
与我相关
我的任务
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
  • Qt
  • 亭台六七座
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧