UI应用程序未加载PyQt5
Posted
技术标签:
【中文标题】UI应用程序未加载PyQt5【英文标题】:UI Application not loading PyQt5 【发布时间】:2017-08-04 15:17:52 【问题描述】:我不知道为什么这个应用程序不加载我的用户界面。我已经写了我在互联网上找到的确切代码,但没有得到任何结果。
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_())
【问题讨论】:
【参考方案1】:根据documentation:
PyQt5.uic.loadUi(uifile[, baseinstance=None[, package=”[, resource_suffix='_rc']]])
加载 Qt Designer .ui 文件并返回用户实例 界面。
参数:
uifile – 包含 .ui 文件。
baseinstance – Qt 基类的可选实例。 如果指定,则在其中创建用户界面。否则一个新的 自动创建基类的实例。
package – 可选包,它是任何相关导入的基础包 自定义小部件。
您必须将 self 实例作为参数传递,如下所示
self.ui = loadUi('window.ui', self)
【讨论】:
【参考方案2】:尝试将QMainWindow
作为参数传递给Receipt
类,如下所示:
app = QApplication(sys.argv)
receipt = Receipt(QMainWindow)
sys.exit(app.exec_())
这应该将主窗口设置为您的类并在您执行时显示应用程序。
【讨论】:
以上是关于UI应用程序未加载PyQt5的主要内容,如果未能解决你的问题,请参考以下文章