之前写的两个弹出的浮窗,一个是个人资料,一个是天气,两个都是通过事件过滤器加上定时器来实现的。但是使用时发现当两个过滤器近乎同时,在上一个定时器任务还没结束时,触发另一个定时器,就会使得主体窗口下沉一级,跑到下面一个窗口的下面去了,怎么都没想明白原因,现象如下图:
解决方法:
使窗口置顶就解决了,即在窗口setWindowFlags
添加属性Qt::WindowStaysOnTopHint
,然后就像QQ一样,一直处于窗口的最上层了(一开始还没注意到QQ一直是置顶的,所以一直没把写的软件置顶)。
要注意的是,由于主体窗口被置顶了,会引起之前的设置和切换的悬浮窗口不显示,解决方法是在那几个界面的窗体属性中也添加置顶就可以了。
运行结果: