首页 > 解决方案 > PyQt5 如何在包中加载 UI 文件

问题描述

我正在尝试在 Mac 上以捆绑包的形式加载 Qt5 文件。

#!/usr/bin/env python
from PyQt5.QtWidgets import (QApplication,   QMainWindow)
from PyQt5 import  uic

import sys
import os

MainUI = os.path.dirname(os.path.realpath(__file__)) + "/data/MainUI.ui" 

Ui_MainWindow, QtBaseClass = uic.loadUiType(MainUI)
class MyForm(QMainWindow,Ui_MainWindow):    
    def __init__(self):     
        QMainWindow.__init__(self)
        Ui_MainWindow.__init__(self)
        self.setupUi(self)

if __name__ == '__main__':
    app = QApplication(sys.argv)
    w = MyForm()
    w.show()
    sys.exit(app.exec_())

这在命令行中运行良好,但是当我将它与 pyinstaller 捆绑在一起时,程序中止,因为它找不到文件 mainUI.ui。我找到了这个解决方案,但我无法让它工作(找不到 resource_path 函数)。我做了另一个,效果很好,但是这个(一个文件程序)我无法工作。

编辑:我停止尝试解决此问题并采用多文件解决方案:1 个文件用于启动,一个文件用于 PyQt 函数。这100%有效。

标签: python-3.xpyqt5

解决方案


推荐阅读