有没有人知道是否可以使用Qt拖放托盘图标?
答案 0 :(得分:6)
我一直在做一些研究,这就是我想出的:
QSystemTrayIcon无法显式处理拖放事件。但是,有一种基于Spifftastic托盘图标定位方法的解决方法。
我还没有完成一些更精细的操作细节,但这就是它的要点。所有事情都被认为是一种hacky方式,但鉴于没有其他方法可以做到这一点,我认为这是可以接受的。
Fluffy App(用C#编写)使用Spifftastic方法定位托盘图标。我假设关于透明窗口的部分是他们如何实现这一点,但我还没有反编译并检查他们的系统。
答案 1 :(得分:1)
由于QSystemTrayIcon是QObject,而不是QWidget,我的猜测是不可能的。 Qt并不真正拥有系统托盘图标 - 它被传递到'桌面',即Gnome / KDE / Windows / Mac的任何部分都在绘制相关区域。至少在Mac上,你会掉到菜单栏上,这将是一个非常奇怪的用户界面。对于Gnome和KDE来说,这是一个FreeDesktop.org标准,但我再也不认为你的过程实际上是绘图,因此Qt无法获得诸如拖放等事件。