我对PyQt很新,所以请耐心等待。
这是我一直在做的事情的示例代码:
#!/usr/bin/python3
# -*- coding: utf-8 -*-
import sys
from PyQt5.QtGui import QIcon
from PyQt5.QtWidgets import (QAction, QApplication,
QMenu,
QSystemTrayIcon,
)
def count():
for x in range(0, 200000):
print("Test " + str(x))
class TrayIcon(QSystemTrayIcon):
def __init__(self):
QSystemTrayIcon.__init__(self)
self.setIcon(QIcon('off.png'))
self.trayIconMenu = QMenu()
item = QAction('Count', self, triggered=self.counter)
self.trayIconMenu.addAction(item)
self.setContextMenu(self.trayIconMenu)
self.show()
def counter(self):
self.setIcon(QIcon('on.png'))
count()
self.setIcon(QIcon('off.png'))
if __name__ == '__main__':
app = QApplication(sys.argv)
trayicon = TrayIcon()
sys.exit(app.exec_())
我会想到' Count'单击systray菜单项,系统会更改时系统图标,count()函数将执行打印,然后系统托盘图标将更改回来。目前,我没有明显的图标更改(但count()函数确实运行)。如果我取出函数和第二个setIcon()语句,那么图标确实会改变。
非常感谢任何帮助。