у меня есть приложение python с пользовательским интерфейсом qt, я использовал pyinstaller, чтобы превратить .py в exe, значок в трее работает, когда выполняется вручную, однако, как только я пытаюсь запустить его с помощью планировщика задач, приложение запускается, но я не получить значок. Я приложил два изображения, показывающие оба случая
Что происходит при запуске вручную
![](https://i.stack.imgur.com/sUbTi.png)
Что происходит при запуске планировщиком задач
Я использовал pyinstaller --log-level DEBUG -F -d import -w sample.py, чтобы преобразовать .py в .exe
samply.py, прежде чем его сменили на .exe
#!/usr/bin/python
# -*- coding: utf-8 -*-
import os
import sys
from PySide.QtGui import QApplication, QMainWindow, QIcon, QMenu, QSystemTrayIcon
from test import Ui_MainWindow
class MainWindow(QMainWindow, Ui_MainWindow):
def __init__(self):
super(MainWindow, self).__init__()
self.setupUi(self)
icon = QIcon("logo.png")
menu = QMenu()
menu = QMenu()
hideAction = menu.addAction("Hide")
hideAction.triggered.connect(self.hide)
showAction = menu.addAction("Show")
showAction.triggered.connect(self.show)
self.setWindowIcon(QIcon("logo.png"))
self.tray = QSystemTrayIcon()
self.tray.setIcon(icon)
self.tray.setContextMenu(menu)
self.tray.setToolTip("Restart Scheduler!")
self.show()
def main():
app = QApplication(sys.argv)
mainWin = MainWindow()
ret = app.exec_()
sys.exit(ret)
if __name__ == "__main__":
main()
.ui-файл, преобразованный в .py
# -*- coding: utf-8 -*-
# Form implementation generated from reading ui file 'untitled.ui'
#
# Created: Mon Feb 10 14:40:44 2020
# by: pyside-uic 0.2.15 running on PySide 1.2.4
#
# WARNING! All changes made in this file will be lost!
from PySide import QtCore, QtGui
class Ui_MainWindow(object):
def setupUi(self, MainWindow):
MainWindow.setObjectName("MainWindow")
MainWindow.resize(311, 317)
self.centralwidget = QtGui.QWidget(MainWindow)
self.centralwidget.setObjectName("centralwidget")
MainWindow.setCentralWidget(self.centralwidget)
self.menubar = QtGui.QMenuBar(MainWindow)
self.menubar.setGeometry(QtCore.QRect(0, 0, 311, 21))
self.menubar.setObjectName("menubar")
MainWindow.setMenuBar(self.menubar)
self.statusbar = QtGui.QStatusBar(MainWindow)
self.statusbar.setObjectName("statusbar")
MainWindow.setStatusBar(self.statusbar)
self.retranslateUi(MainWindow)
QtCore.QMetaObject.connectSlotsByName(MainWindow)
def retranslateUi(self, MainWindow):
MainWindow.setWindowTitle(QtGui.QApplication.translate("MainWindow", "MainWindow", None, QtGui.QApplication.UnicodeUTF8))