有没有办法解决两个以上的窗口连接而又不使pyqt5中的程序崩溃的问题?

时间:2019-05-11 23:29:28

标签: python pyqt pyqt5

现在,我正在为学生设计交互式测试的原型。该原型有4个窗口:“欢迎”窗口; 'question1'; “问题2”和“结果”。我使用python 3.7; pyqt5和Qt Designer。在过去的几天中,我一直在搜索大量信息,以找到如何组装GUI的方法,该GUI由许多窗口组成,当按下窗口中的某些按钮时,这些窗口将一个接一个地调用。我设法仅找到几个示例,但是这些程序没有超出2个窗口。那是我遇到问题的时候。

(文件“欢迎”)

from PyQt5 import QtCore, QtGui, QtWidgets

from question1 import Ui_question1

class Ui_welcome(object):

    def openWindow(self):
        self.window = QtWidgets.QMainWindow()
        self.ui = Ui_question1()
        self.ui.setupUi(self.window)
        welcome.close()
        self.window.show()
.

        self.startTheTest.clicked.connect(self.openWindow)

(文件“ question1”)

class Ui_question1(object):

    def openWindow(self):
        self.window = QtWidgets.QMainWindow()
        self.ui = Ui_question2()
        self.ui.setupUi(self.window)
        question1.close()
        self.window.show()
# ...


        self.nextQuestion.clicked.connect(self.openWindow)

(文件“ question2”)

from results import Ui_results

class Ui_question2(object):

    def openWindow(self):
        self.window = QtWidgets.QMainWindow()
        self.ui = Ui_results()
        self.ui.setupUi(self.window)
        question2.hide()
        self.window.show()
# ... 

        self.goToTheResults.clicked.connect(self.openWindow)

我希望程序显示“欢迎”窗口,然后当按下唯一按钮“开始测试”时,我希望它传递到该程序已经执行的第一个问题。但是,当我想通过按“ nextQuestion”从“ question1”转到“ question2”时,它就是崩溃了。它说“ question1”未定义。当我通过运行文件'question1'直接启动程序时,它确实到达了第二个问题,但是当按下'goToTheResults'按钮时,它再次崩溃。在这种情况下,它说“ question2”未定义。

0 个答案:

没有答案