我正在使用GTK#2.12,因为它描述为here。
但是当我使用具有透明度的PNG图像时,KDE不想重绘图像的透明部分。所以,我在图像的透明部分看到旧的位图(不是面板条)。
我猜它可能是GTK#本身的bug。所以,我正在寻找一种使用单声道显示系统托盘图标的新方法。也许QSystemTrayIcon上的一些库可以做到这一点。理想情况下,它应该是跨平台的。因此,在Windows上,它也应该显示。
或者,我可以尝试为Linux版本实现平台调用(也许是最佳选择)。但请给我一些例子......我是Linux中Qt和平台调用的新手。
答案 0 :(得分:1)
我认为您应该尝试更新您的gtk版本,因为您尝试使用的版本非常旧。这就像使用Qt 3左右。大约十年前他们还可以。很可能很久以前就已经修复了这个基本功能。
如果你想坚持使用古老的软件,这里有一个Qt包装解决方案,只是为了挑战它。
来自KDE的 QYoto
不再那么多了,但它可能仍然是包装器中的最佳选择,所以这里是示例代码:
using Qyoto;
class Program {
public static void Main(string[] args) {
new QApplication(args);
var tray = new QSystemTrayIcon(this);
tray.SetIcon(new QIcon(":/gui/logo.png"));
...
tray.Show();
QApplication.Exec();
}
}