我目前正在创建一种学生约会系统,学生可以在其中为各自的讲师设置约会。目前,我制作了 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.py或openfaculty()for faculty.py。openfaculty()但是,当我尝试使用管理员帐户登录时,如果使用了 12345 帐户,它最终会转到并关闭,并返回以下退出代码。
Process finished with exit code -1073740791 (0xC0000409)
此外,由于某种原因,setupUi内部是未解决的参考。openfaculty()