Pyside2 with Qt Designer - 使用 QUiLoader() 时忽略资源(图标)

Pyside2 with Qt Designer - Resource(icons) ignored when using QUiLoader()

在 Qt Designer 中,我在资源浏览器中定义了几个图标,并将它们附加到按钮和操作上。 Designer 预览显示图标。图标存储在 icons.qrc 文件中。

但是当我加载 UI 文件时:

class MyQtApp():
    def __init__(self):
        super().__init__()
        self.ui = QUiLoader().load("ui/main.ui")
        self.ui.show()

if __name__ == '__main__':
    app = QtWidgets.QApplication([])
    my_app = MyQtApp()
    app.exec_()

图标丢失。它们不会出现在按钮上。

我不介意使用 :

编译 icons.qrc
pyside2-rcc.exe icons.qrc -o icons_rc.py

但是,如果我使用 QUiLoader().load(),我如何才能将 link icons_rc.py 添加到我的代码中呢?

PS:当然,当我同时使用资源和ui编译器(pyside2-uic.exe和pyside2-rcc.exe)时,我不会有这个问题,但我更喜欢使用 QUiLoader().load() 如果可能的话。

您唯一需要做的就是在您的主文件中导入 icons_rc.py。

只需添加语句

import icons_rc.py

在你文件的开头就是这样。这对我有用。