May-14-2022, 12:08 PM
This is an example to open mainWin on success
import sys from PyQt5.QtWidgets import (QApplication, QWidget, QPushButton, QMainWindow, QLabel, QLineEdit, QGridLayout, QMessageBox) from PyQt5.QtCore import Qt class mainWin(QMainWindow): def __init__(self, parent = None): super(mainWin, self).__init__(parent) self.setGeometry(0, 0, 800, 600) self.lbl = QLabel(text = "Main Window", alignment = Qt.AlignCenter) self.setCentralWidget(self.lbl) self.setWindowTitle("Main Window") class LoginForm(QWidget): def __init__(self): super().__init__() self.setWindowTitle('Login') self.setGeometry(0, 0, 800, 600) layout = QGridLayout() label_name = QLabel('Username:') self.lineEdit_username = QLineEdit("user") self.lineEdit_username.setPlaceholderText('Please enter your username') layout.addWidget(label_name, 0, 0) layout.addWidget(self.lineEdit_username, 0, 1) label_password = QLabel('Password:') self.lineEdit_password = QLineEdit("000") self.lineEdit_password.setPlaceholderText('Please enter your password') layout.addWidget(label_password, 1, 0) layout.addWidget(self.lineEdit_password, 1, 1) button_login = QPushButton('Login') button_login.clicked.connect(self.check_password) layout.addWidget(button_login, 2, 1, 1, 1) empty = QWidget() layout.addWidget(empty, 3, 1, 1, 1) self.setLayout(layout) def check_password(self): msg = QMessageBox() if self.lineEdit_username.text() == 'user' and self.lineEdit_password.text() == '000': self.win = mainWin() self.win.show() self.close() else: msg.setText('Incorrect Username or Password\ntry again') msg.exec_() return if __name__ == '__main__': app = QApplication(sys.argv) form = LoginForm() form.show() sys.exit(app.exec_())