Ubuntu19.10 Qt开发 关于任务栏图标的一个问题

开发基于GTK+或QT的应用程序
回复
nicuw
帖子: 2
注册时间: 2018-01-03 23:03
系统: Windows7
送出感谢: 0
接收感谢: 0

Ubuntu19.10 Qt开发 关于任务栏图标的一个问题

#1

帖子 nicuw » 2019-11-24 21:32

试了一下19
发现一个很奇怪的问题
提出来希望各位能够提供一些思路

env:Ubuntu 19.10
IDE:Qt 5.13

昨天晚上将18.04上打包好的一个程序安装在19.10上后,程序正常运行。
但是任务栏的图标却无法显示,在19上编译后一样无法运行。
调试半天无果后遂关机睡觉了。
今天上午打开电脑准备找找问题,开机后程序的任务栏图标竟然神奇的出现了。
(程序带开机自动运行的功能)
卸载掉程序,重新安装,发现图标又不见了。
再次重启电脑,图标出现。

看了一下release note,似乎并没有提到有关SystemTrayIcon相关更新。
请问各位有遇到类似的问题吗?
头像
astolia
论坛版主
帖子: 4178
注册时间: 2008-09-18 13:11
送出感谢: 1 次
接收感谢: 697 次

Re: Ubuntu19.10 Qt开发 关于任务栏图标的一个问题

#2

帖子 astolia » 2019-11-25 10:27

任务栏图标?如果是通过QSystemTrayIcon设置的,那该叫系统托盘图标/通知区域图标
你可以换成其他桌面环境,比如xfce,简单点也可以搞个openbox+trayer这种的,看看在这种环境下有没有同样问题。没有的话就是gnome或ubuntu的锅
nicuw
帖子: 2
注册时间: 2018-01-03 23:03
系统: Windows7
送出感谢: 0
接收感谢: 0

Re: Ubuntu19.10 Qt开发 关于任务栏图标的一个问题

#3

帖子 nicuw » 2019-11-25 15:21

astolia 写了:
2019-11-25 10:27
任务栏图标?如果是通过QSystemTrayIcon设置的,那该叫系统托盘图标/通知区域图标
你可以换成其他桌面环境,比如xfce,简单点也可以搞个openbox+trayer这种的,看看在这种环境下有没有同样问题。没有的话就是gnome或ubuntu的锅
看样子应该是Gnome 3的锅,我安装了个Rhel 8 (用的也是Gnome 3)
问题更加严重
图标直接不显示了。
新系统这种小坑还是踩不完。
头像
astolia
论坛版主
帖子: 4178
注册时间: 2008-09-18 13:11
送出感谢: 1 次
接收感谢: 697 次

Re: Ubuntu19.10 Qt开发 关于任务栏图标的一个问题

#4

帖子 astolia » 2019-11-25 16:17

其实这个问题原因比较复杂。
你去读QSystemTrayIcon的文档,它对linux系统有两种不同的机制,一种是传统的x11库,一种是基于dbus的StatusNotifierItem。后者主要是由kde和unity推动的。
而gnome从3.24开始就完全废弃了传统的x11方法,而对dbus那套目前好像还没有计划添加原生支持。
ubuntu是自己开发了一个gnome shell扩展来实现 https://extensions.gnome.org/extension/ ... r-support/ ,这个东西以前也不是没有出现过问题 https://www.linuxuprising.com/2018/12/f ... buntu.html
我不知道redhat那边的动作,但你说不显示图标,明显是没有默认安装类似的扩展
回复

回到 “GTK+和QT”