python-3.x 我在macOS系统托盘上看不到pyinstaller生成的可执行文件的图标

nqwrtyyt  于 2022-11-19  发布在  Python
关注(0)|答案(1)|浏览(187)

我在macOS的系统托盘中开发了一个带有图标的应用程序,但当我用pyinstaller生成可执行文件并启动应用程序时,菜单在系统托盘中很好,但我看不到图标,好像我什么都没有。
我使用PySide6 6.4.0.1、Python 3.10.7和pyinstaller 5.6.1。

app = QApplication()
main_window = MainWindow()
if not QSystemTrayIcon.isSystemTrayAvailable():
    QMessageBox.critical(None, 'System Tray', 'System tray was not detected!')
    sys.exit(1)

app.setQuitOnLastWindowClosed(False)

icon = QIcon('ressources/icon.jpg')

tray = QSystemTrayIcon()
tray.setIcon(icon)
tray.setVisible(True)

menu = QMenu()

action_hello = QAction('Hello World')
action_hello.triggered.connect(main_window.say_hello)
menu.addAction(action_hello)

action_exit = QAction('Exit')
action_exit.triggered.connect(app.exit)
menu.addAction(action_exit)

tray.setToolTip('Hello World app')
tray.setContextMenu(menu)
tray.show()

# Launch the app
app.exec()
oxcyiej7

oxcyiej71#

我终于成功了。我已经找到了解决方案here的一部分!它是必要的添加图标在一个资源文件特定的Qt。Here是一个教程来做这件事。我已经创建了一个文件 icon.qrc

<!DOCTYPE RCC><RCC version="1.0">
<qresource prefix="/">
   <file>ressources/icon.ico</file>
</qresource>
</RCC>

然后,我在cmd中运行以下命令:pyside6-rcc icons.qrc -o rc_icons.py。之后,我导入了在 hello.py 中创建的新文件 rc_icons.pyimport rc_icons.py。最后,我创建了如下图标:icon = QIcon(QPixmap(":/ressources/icon.ico"))现在,当我运行pyinstaller命令和可执行文件时,我在系统托盘上看到了图标。

相关问题