rebz!此代碼不工作 - 圖標完全transperent。我永遠不知道該怎麼做。在GUI線程外使用pixmaps是不安全的
class SystemTrayIcon:
def __init__(self, icon_app, icon_pause, icon_work, parent=None):
self.STATUS_WORK = 2
self.STATUS_PAUSE = 1
self.STATUS_APP = 0
self.tray = QSystemTrayIcon(icon_app, parent)
api.gui.connector.connect_slot(object_name=)
self.icons = {
0:icon_app,
1:icon_pause,
2:icon_work
}
self.menu = QMenu(parent)
self.tray.setContextMenu(self.menu)
print self.tray.thread()
# self.set_status(2)
def set_status(self, status):
self.tray.setIcon(self.icons[status])
我調用方法set_status在第二線程。幫我請(:
只能在主(UI線程)修改UI。如果你試圖在其他線程中做 - 你甚至應該崩潰。嘗試不要調用'set_status'方法直接發出信號,這會連接到'set_status'插槽。或者,如果你真的不想使用信號,請查看'invokeMethod'文檔(從其他線程調用方法)。 – Shf
「我在第二個線程中調用方法set_status」不這樣做。 – Goyo