有没有办法让(动画)GIF图像作为系统托盘图标与pyqt?

时间:2011-01-27 12:43:40

标签: python qt pyqt system-tray

我用pyqt创建了静态(PNG)图像作为托盘图标。

与GIF图像相同的结果是静态托盘图标。它可以用pyqt在系统托盘中设置动画吗?

QtGui.QSystemTrayIcon.__init__(self, parent)
self.setIcon(QtGui.QIcon("Image.gif"))

1 个答案:

答案 0 :(得分:3)

使用QMovie播放动画gif,并在每个新的帧事件上更新托盘图标:

m_icon = new QSystemTrayIcon();
m_icon->show();
m_gif = new QMovie(":/animated.gif");
connect(m_gif, SIGNAL(frameChanged(int)), this, SLOT(updateIcon()));
m_gif->start();

...

void MyWidget::updateIcon()
{
    m_icon->setIcon(m_gif->currentPixmap());
}

对于C ++示例,我没有安装PyQt。