在启动 Qt5 应用程序的主要 python 脚本之前,如何使用 Pycharm 直接运行资源创建脚本?

Posted

技术标签:

【中文标题】在启动 Qt5 应用程序的主要 python 脚本之前,如何使用 Pycharm 直接运行资源创建脚本?【英文标题】:How can I directly run the resource creation script with Pycharm before launching the main python script of a Qt5 app? 【发布时间】:2020-11-30 16:24:46 【问题描述】:

我正在使用 Qt5 开发一个 python GUI 应用程序,其中我使用 Qt Designer 创建了一个 resource.qrc 文件。但是对于 Qt Gui,我实际上使用的是 resource_rc.py,它是由脚本创建的,如以下答案所述:

https://***.com/a/36673994/9620269

在这种情况下,我必须运行以下脚本来创建文件:

python -m PyQt5.pyrcc_main resource.qrc -o resource_rc.py

我想将所有文件存储在远程存储库中,以便其他人访问。在这种情况下,我想提供一个解决方案,这样如果其他用户在第一次拉取 repo 后启动,就不需要手动启动脚本。

我尝试在 PyCharm 中使用配置选项“Before Launch”,以便使用 *.bat 启动上述脚本,但在我的情况下它不起作用。

问题:

如何在启动 Qt5 应用程序的主要 python 脚本之前使用 Pycharm 直接运行资源创建脚本(见上文)?

【问题讨论】:

【参考方案1】:

第一次导入资源文件时可能会使用try 块,然后在except 中调用pyrcc 脚本:

try:
    import resource_rc
except:
    from PyQt5 import pyrcc_main
    pyrcc_main.processResourceFile(['resource.qrc'], 'resource_rc.py', False)
    import resource_rc

【讨论】:

以上是关于在启动 Qt5 应用程序的主要 python 脚本之前,如何使用 Pycharm 直接运行资源创建脚本?的主要内容,如果未能解决你的问题,请参考以下文章

Pyinstaller Qt5 应用程序无法在 Windows 10 中启动

Pyinstaller Packed EXE 无法在其他 PC 上运行脚本。说:Qt5Core,找不到dll

Python3 Qt5 主窗口

Python QT5 1- 启动PyQt5

使用 subprocess.Popen 启动 pyuic5

python QT5运行Edge