Я разработал приложение с системным треем, имеющим меню в Python 2.6.4 и PyQt4.
В каждой клиентской системе python установлен локально и доступ к PyQt4 осуществляется из сети.
Я установил SystemTray и необходимые значки для пунктов меню, как показано ниже. В папке приложения есть папка icons
, из которой я использую. поэтому я использовал os.getcwd()
Я сохранил эту папку приложения в сети, чтобы каждый мог получить к ней доступ.
self.mnuItem_1 = QtGui.QAction(QtGui.QIcon(r'%s\icons\icon1.ico' % (os.getcwd())), "Menu Item 1", self)
self.mnuItem_2 = QtGui.QAction(QtGui.QIcon(r'%s\icons\icon1.ico' % (os.getcwd())), "Menu Item 1", self)
self.trayIconMenu = QtGui.QMenu(self)
self.trayIconMenu.addAction(self.mnuItem_1)
self.trayIconMenu.addAction(self.mnuItem_2)
self.trayIcon = QtGui.QSystemTrayIcon(self)
self.trayIcon.setContextMenu(self.trayIconMenu)
TrayIcon = (r'%s\ShowTime_Addons\Media\showtimeIcon.ico' % (os.getcwd()))
self.trayIcon.setIcon(QtGui.QIcon(TrayIcon))
self.trayIcon.setToolTip('Showtime')
self.trayIcon.show()
В некоторых системах я мог видеть значки, но в некоторых системах значки не отображаются.
Для тестирования я поместил .png и использовал, и это сработало.
self.mnuItem_1 = QtGui.QAction(QtGui.QIcon(r'%s\icons\icon1.png' % (os.getcwd())), "Menu Item 1", self)
self.mnuItem_2 = QtGui.QAction(QtGui.QIcon(r'%s\icons\icon1.png' % (os.getcwd())), "Menu Item 1", self)
Так пришло понимание, что дело не в пути, а в чем-то другом.