Python PyQt:如何从资源加载ui文件?

Python PyQt:如何从资源加载ui文件?,python,qt,pyqt,pyqt4,Python,Qt,Pyqt,Pyqt4,通常,我通过loadui()方法加载所有ui文件,这对我来说很好。这看起来像这样: #!/usr/bin/env python #-*- coding:utf-8 -*- ''' The modules for Qt are imported. PyQt are a set of Python bindings for Qt. ''' from PyQt4.QtGui import QDialog from PyQt4.uic import loadUi from PyQt4.QtCore i

通常,我通过
loadui()
方法加载所有ui文件,这对我来说很好。这看起来像这样:

#!/usr/bin/env python
#-*- coding:utf-8 -*-

'''
The modules for Qt are imported.
PyQt are a set of Python bindings for Qt.
'''
from PyQt4.QtGui import QDialog
from PyQt4.uic import loadUi
from PyQt4.QtCore import Qt, QFile
from PyQt4 import QtCore

class My_Window(QDialog):
    def __init__(self, parent):
        QDialog.__init__(self, parent)

        UI_PATH = QFile(":/ui_file/test.ui")

        UI_PATH.open(QFile.ReadOnly)

        self.ui_test = loadUi(UI_PATH, self)

        UI_PATH.close()
现在我尝试通过
loaduiType()
加载ui文件,但它不起作用。我尝试使用以下代码:

from PyQt4.uic import loadUiType

UI_PATH = QFile(":/ui_file/test.ui")

Ui_Class, _ = loadUiType(UI_PATH)

class Test_Window(QDialog, UiClass):
    def __init__(self, parent):
        QDialog.__init__(self, parent)

        self.setupUi(self)

使用
loadUiType()
方法加载ui文件的正确和最佳原因是什么?

它与您已经在做的事情没有太大区别:

from PyQt4.QtCore import QFile
from PyQt4.uic import loadUiType

import resources_rc

def loadUiClass(path):
    stream = QFile(path)
    stream.open(QFile.ReadOnly)
    try:
        return loadUiType(stream)[0]
    finally:
        stream.close()

Ui_Class = loadUiClass(':/ui_file/test.ui')