从 Qt Designer 更改 rcc 模块的导入路径

Change the import path of rcc module from Qt Designer

我正在寻找一种方法来更改 pyuic 生成的 python 文件中 rcc 模块的导入路径。

示例 pyuic 从 ui 文件生成 python 代码:

    from PyQt5 import QtCore, QtGui, QtWidgets
    
    class Ui_MainWindow(object):
        def setupUi(self, MainWindow):
            MainWindow.setObjectName("MainWindow")
            MainWindow.resize(249, 103)
            self.centralwidget = QtWidgets.QWidget(MainWindow)
            self.centralwidget.setObjectName("centralwidget")
            self.horizontalLayout = QtWidgets.QHBoxLayout(self.centralwidget)
            self.horizontalLayout.setObjectName("horizontalLayout")
            self.pushButton = QtWidgets.QPushButton(self.centralwidget)
            self.pushButton.setText("")
            icon = QtGui.QIcon()
            icon.addPixmap(QtGui.QPixmap(":/gui_icons/res/play.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
            self.pushButton.setIcon(icon)
            self.pushButton.setIconSize(QtCore.QSize(32, 32))
            self.pushButton.setObjectName("pushButton")
            self.horizontalLayout.addWidget(self.pushButton)
            MainWindow.setCentralWidget(self.centralwidget)
    
            self.retranslateUi(MainWindow)
            QtCore.QMetaObject.connectSlotsByName(MainWindow)
    
        def retranslateUi(self, MainWindow):
            _translate = QtCore.QCoreApplication.translate
            MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow"))
    import icons_mw_rc

我想将 icons_mw_rc 导入路径更改为另一个位置以更好地组织我的源文件 [示例:import qrc_res.icons_mw_rc]。有没有一种方法可以使用 Qt Designer 来做到这一点,而无需手动修改 pyuic 生成的 src 文件。

pyuic tool有一些调整资源导入语句的选项。您可以使用 --import-from 选项实现与您的示例等效的效果:

pyuic5 --import-from=qrc_res -o mw.py mw.ui

这会将以下行添加到生成的 python 模块中:

from qrc_res import icons_mw_rc