1

我目前正在创建一种学生约会系统,学生可以在其中为各自的讲师设置约会。目前,我制作了 3 个以main.py登录名命名的小部件admin.py, 和faculty.py,从我制作的 ui 文件转换而来。

与此同时,我的目标是让用户使用管理员帐户登录,否则使用教员小部件登录。

到目前为止,这是我的尝试:

main.py (QDialog)

from PyQt5 import QtCore, QtGui, QtWidgets
from admin import Ui_MainWindow
from faculty import Ui_MainWindow


class Ui_Login(object):
    def loginbtn(self):
        usernm = self.user_id.text()
        psswrd = self.password.text()

        if usernm == "admin" and psswrd == "admin123":
            self.openadmin()
        elif usernm == "12345" and psswrd == "12345":
            self.openfaculty()

    def openadmin(self):
        self.window = QtWidgets.QMainWindow()
        self.ui = Ui_MainWindow()
        self.ui.setupUi(self.window)
        self.window.show()

    def openfaculty(self):
        self.window = QtWidgets.QMainWindow()
        self.ui = Ui_MainWindow()
        self.ui = setupUi(self.window)
        self.window.show()

    def setupUi(self, Login):
        -contains the widget parts-
        self.loginbutton.clicked.connect(self.loginbtn)
    
    def retranslateUi(self, Login):

if __name__ == "__main__":
    import sys
    app = QtWidgets.QApplication(sys.argv)
    login = QtWidgets.QDialog()
    ui = Ui_Login()
    ui.setupUi(login)
    login.show()
    sys.exit(app.exec_())

admin.py (QMainWindow)(暂时不可用)

from PyQt5 import QtCore, QtGui, QtWidgets


class Ui_MainWindow(object):
    def setupUi(self, MainWindow):

    def retranslateUi(self, MainWindow):

if __name__ == "__main__":
    import sys
    app = QtWidgets.QApplication(sys.argv)
    faculty = QtWidgets.QMainWindow()
    ui = Ui_MainWindow()
    ui.setupUi(faculty)
    faculty.show()
    sys.exit(app.exec_())

Faculty.py(QMainWindow)(目前也不起作用)

from PyQt5 import QtCore, QtGui, QtWidgets


class Ui_MainWindow(object):
    def setupUi(self, MainWindow):

    def retranslateUi(self, MainWindow):

if __name__ == "__main__":
    import sys
    app = QtWidgets.QApplication(sys.argv)
    admin = QtWidgets.QMainWindow()
    ui = Ui_MainWindow()
    ui.setupUi(admin)
    admin.show()
    sys.exit(app.exec_())

我的尝试是,如果loginbutton按下 ,它会转到loginbtn()并检查是否使用管理员帐户或用作教职员工帐户的 12345 来登录,然后转到openadmin()loadadmin.pyopenfaculty()for faculty.pyopenfaculty()但是,当我尝试使用管理员帐户登录时,如果使用了 12345 帐户,它最终会转到并关闭,并返回以下退出代码。

Process finished with exit code -1073740791 (0xC0000409)

此外,由于某种原因,setupUi内部是未解决的参考。openfaculty()

4

0 回答 0