UI应用程序未加载PyQt5

时间:2017-08-04 15:17:53

标签: python pyqt pyqt5 qt-designer

我不知道为什么这个应用程序没有加载我的ui。我已经写了我在互联网上找到的确切代码,但没有得到任何结果。

from PyQt5.uic import loadUi
from PyQt5.QtWidgets import QApplication, QMainWindow
import sys


class Receipt(QMainWindow):

    def __init__(self):
        super().__init__()
        self.ui = None
        self.load_ui()
        self.load_signals()

    def load_ui(self):
        self.ui = loadUi('window.ui')
        self.show()

    def load_signals(self):
        pass

app = QApplication(sys.argv)
receipt = Receipt()
sys.exit(app.exec_()) 

2 个答案:

答案 0 :(得分:1)

根据documentation

  

PyQt5.uic.loadUi(uifile [,baseinstance = None [,package =“[,   resource_suffix =” _ RC”]]])

     

加载Qt Designer .ui文件并返回该用户的实例   接口

     

参数:

     

uifile - 包含的文件名或类文件对象   .ui文件。

     

baseinstance - Qt基类的可选实例。   如果指定,则在其中创建用户界面。否则一个新的   自动创建基类的实例。

     

package - 可选包,它是任何相对导入的基础包   自定义小部件。

您必须将自我实例作为参数传递,如下所示

self.ui = loadUi('window.ui', self)

答案 1 :(得分:0)

尝试将QMainWindow作为参数传递给Receipt类,如下所示:

app = QApplication(sys.argv)
receipt = Receipt(QMainWindow)
sys.exit(app.exec_()) 

这应该将主窗口设置为您的类,并在执行时显示应用程序。