python - 有没有办法使用 pyqt 将(动画)GIF 图像作为系统托盘图标?

标签 python qt pyqt system-tray

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

对 GIF 图像进行同样的操作,会生成静态托盘图标。可以用pyqt在系统托盘中制作动画吗?

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

最佳答案

使用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。

关于python - 有没有办法使用 pyqt 将(动画)GIF 图像作为系统托盘图标?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4816445/

相关文章:

php - 如何将数据从 Python 发送到 Android 应用程序

c++ - 我怎样才能得到网页的内容

python - 使用 qt-designer 和 pyqt 创建简单的表单

python - PyQt5:根据文档出现一个信号而不是两个

python - 这个 for 循环生成有序非重复组合列表的错误在哪里?

python - mongodb查询构建where子句的问题

qt - 如何向 QToolbox 项目添加小部件

python - 如何将自定义的QSplitter类显示到QMainWindow上

python - "python setup.py install"没有在 virtualenv 中安装

android - 如何让手机从 Qt Android 振动