首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >继承PyQt5类

继承PyQt5类
EN

Stack Overflow用户
提问于 2015-07-16 12:44:10
回答 1查看 537关注 0票数 0

我试图学习一些YouTube教程,介绍如何创建GUI并创建一个用PyQt继承GUI的类。这些教程使用PyQt4,而我使用PyQt5。我做了一些更改,以避免引用错误,但窗口没有显示。

我的班级:

代码语言:javascript
复制
import sys
from ETF.modules.profiles_input.gui import *

class ProfileInput(QtWidgets.QMainWindow):

    def __init__(self, parent=None):
        QtWidgets.QWidget.__init__(self, parent)
        self.ui = Ui_ProfileInputWindow()
        self.ui.setupUi(self)

if __name__ == "__main__":
    app = QtWidgets.QApplication(sys.argv)
    app = ProfileInput()
    app.show()
    sys.exit(app.exec_())

我的GUI类以:(这段代码没问题,我只是为了参考)开始。

代码语言:javascript
复制
    from PyQt5 import QtCore, QtGui, QtWidgets

    class Ui_ProfileInputWindow(object):
        def setupUi(self, ProfileInputWindow):
            ProfileInputWindow.setObjectName("ProfileInputWindow")
            ProfileInputWindow.resize(880, 495)
            self.centralwidget = QtWidgets.QWidget(ProfileInputWindow)
            self.centralwidget.setObjectName("centralwidget")
            self.horizontalLayout = QtWidgets.QHBoxLayout(self.centralwidget)
            self.horizontalLayout.setObjectName("horizontalLayout")
            self.verticalLayout_2 = QtWidgets.QVBoxLayout()
            self.verticalLayout_2.setObjectName("verticalLayout_2")
            self.tabWidget = QtWidgets.QTabWidget(self.centralwidget)
            self.tabWidget.setObjectName("tabWidget")
            self.tab = QtWidgets.QWidget()
            self.tab.setObjectName("tab")
            self.verticalLayout = QtWidgets.QVBoxLayout(self.tab)
            self.verticalLayout.setObjectName("verticalLayout")
            self.horizontalLayout_2 = QtWidgets.QHBoxLayout()
            self.horizontalLayout_2.setObjectName("horizontalLayout_2")
            self.lineEdit = QtWidgets.QLineEdit(self.tab)
            self.lineEdit.setObjectName("lineEdit")
            self.horizontalLayout_2.addWidget(self.lineEdit)
            self.pushButton = QtWidgets.QPushButton(self.tab)
            self.pushButton.setObjectName("pushButton")
            self.horizontalLayout_2.addWidget(self.pushButton)
            self.verticalLayout.addLayout(self.horizontalLayout_2)
            self.tableView = QtWidgets.QTableView(self.tab)
            self.tableView.setObjectName("tableView")
            self.verticalLayout.addWidget(self.tableView)
            self.tabWidget.addTab(self.tab, "")
            self.tab_2 = QtWidgets.QWidget()
            self.tab_2.setObjectName("tab_2")
            self.tabWidget.addTab(self.tab_2, "")
            self.verticalLayout_2.addWidget(self.tabWidget)
            self.horizontalLayout.addLayout(self.verticalLayout_2)
            ProfileInputWindow.setCentralWidget(self.centralwidget)

            self.retranslateUi(ProfileInputWindow)
            self.tabWidget.setCurrentIndex(0)
            self.pushButton.clicked.connect(self.pushButton.click)
            QtCore.QMetaObject.connectSlotsByName(ProfileInputWindow)

当我执行第一段代码时,python解释器将以以下消息结束:

代码语言:javascript
复制
Process finished with exit code -1073741819 (0xC0000005)

第一段代码有什么问题?

提前谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-07-16 13:34:01

您在这里为app分配了两次:

代码语言:javascript
复制
app = QtWidgets.QApplication(sys.argv)
app = ProfileInput()
app.show()
sys.exit(app.exec_())

代码应该如下所示:

代码语言:javascript
复制
app = QtWidgets.QApplication(sys.argv)
window = ProfileInput()
window.show()
sys.exit(app.exec_())
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31454531

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档