Я пытаюсь изменить/обновить значок QSystemtrayIcon, но это не сработает.
main.py:
if __name__=="__main__":
app = QApplication(sys.argv)
from systray import SystemTrayIcon
trayIcon = SystemTrayIcon(parent=app)
trayIcon.show()
sys.exit(app.exec_())
системный трей.py:
class SystemTrayIcon(QSystemTrayIcon):
def __init__(self, parent=None):
QSystemTrayIcon.__init__(self, parent)
icon = QIcon(abspath("images/icon.png"))
self.setIcon(icon)
#menu stuff and so on
def set_icon(self):
self.setIcon(QIcon(abspath("images/envelope.png")))
Внутри моего mainwindow.py я хочу изменить значок, когда происходит событие. Как мне вызвать метод set_icon или изменить значок прямо из mainwindow.py?
Большое спасибо
Редактировать:
Я пробовал в mainwindow.py:
import systray
class MainWindow(QWidget):
#class stuff
def change_icon(self):
trayIcon = systray.SystemTrayIcon()
trayIcon.set_icon()
Функция вызывается, когда я помещаю печать внутрь set_icon в системном трее, она печатается, но не меняет значок.
Какие-либо предложения?