Login window, password verification
Just started learning PYQT. I have a code in which I tried to write a login and password window.
I want to make sure that the username that is entered in lineEdit
is 123 and the password is 1234, but if the data is entered incorrectly, the application will give an error with the text "Incorrect username or password".
I tried to do it, but something went wrong.
import sys
from design2 import *
from PyQt5 import QtCore, QtGui, QtWidgets
class ExampleApp(QtWidgets.QMainWindow, Ui_MainWindow):
def __init__(self):
super().__init__()
self.setupUi(self)
if __name__=="__main__":
app = QtWidgets.QApplication(sys.argv)
window = ExampleApp()
window.show()
app.exec_()
if __name__=="__main__":
main()
Design 2
from PyQt5 import QtCore, QtGui, QtWidgets
class Ui_MainWindow(object):
def setupUi(self, MainWindow):
MainWindow.setObjectName("MainWindow")
MainWindow.resize(400, 600)
MainWindow.setMinimumSize(QtCore.QSize(400, 600))
MainWindow.setMaximumSize(QtCore.QSize(400, 600))
font = QtGui.QFont()
font.setFamily("HelveticaNeueCyr")
font.setPointSize(8)
font.setStyleStrategy(QtGui.QFont.PreferAntialias)
MainWindow.setFont(font)
MainWindow.setWindowOpacity(1.0)
MainWindow.setStyleSheet("background-color: qlineargradient(spread:pad, x1:0.011, y1:1, x2:1, y2:0, stop:0 rgba(182, 29, 212, 255), stop:1 rgba(48, 7, 182, 255));")
MainWindow.setTabShape(QtWidgets.QTabWidget.Rounded)
self.centralwidget = QtWidgets.QWidget(MainWindow)
self.centralwidget.setObjectName("centralwidget")
self.pushButton = QtWidgets.QPushButton(self.centralwidget)
self.pushButton.setGeometry(QtCore.QRect(100, 400, 201, 71))
font = QtGui.QFont()
font.setFamily("HelveticaNeueCyr")
font.setPointSize(22)
self.pushButton.setFont(font)
self.pushButton.setCursor(QtGui.QCursor(QtCore.Qt.OpenHandCursor))
self.pushButton.setStyleSheet("color: rgb(255, 255, 255);\n"
"border-radius: 30px;\n"
"background-color: qlineargradient(spread:repeat, x1:0, y1:0.545, x2:1, y2:0.563, stop:0 rgba(53, 255, 255, 255), stop:1 rgba(42, 255, 177, 255));")
self.pushButton.setObjectName("pushButton")
self.lineEdit = QtWidgets.QLineEdit(self.centralwidget)
self.lineEdit.setGeometry(QtCore.QRect(70, 200, 261, 61))
font = QtGui.QFont()
font.setFamily("HelveticaNeueCyr")
font.setPointSize(22)
self.lineEdit.setFont(font)
self.lineEdit.setStyleSheet("background-color: rgb(255, 255, 255);\n"
"border-radius: 30px;")
self.lineEdit.setMaxLength(100)
self.lineEdit.setAlignment(QtCore.Qt.AlignCenter)
self.lineEdit.setClearButtonEnabled(True)
self.lineEdit.setObjectName("lineEdit")
self.lineEdit_2 = QtWidgets.QLineEdit(self.centralwidget)
self.lineEdit_2.setGeometry(QtCore.QRect(70, 290, 261, 61))
font = QtGui.QFont()
font.setFamily("HelveticaNeueCyr")
font.setPointSize(22)
font.setItalic(False)
font.setUnderline(False)
font.setStrikeOut(False)
font.setStyleStrategy(QtGui.QFont.PreferAntialias)
self.lineEdit_2.setFont(font)
self.lineEdit_2.setAutoFillBackground(False)
self.lineEdit_2.setStyleSheet("background-color: rgb(255, 255, 255);\n"
"border-radius: 30px;\n"
"\n"
"")
self.lineEdit_2.setMaxLength(12)
self.lineEdit_2.setEchoMode(QtWidgets.QLineEdit.Password)
self.lineEdit_2.setCursorPosition(0)
self.lineEdit_2.setAlignment(QtCore.Qt.AlignCenter)
self.lineEdit_2.setDragEnabled(False)
self.lineEdit_2.setReadOnly(False)
self.lineEdit_2.setClearButtonEnabled(True)
self.lineEdit_2.setObjectName("lineEdit_2")
self.label = QtWidgets.QLabel(self.centralwidget)
self.label.setGeometry(QtCore.QRect(120, 90, 181, 101))
font = QtGui.QFont()
font.setFamily("HelveticaNeueCyr")
font.setPointSize(35)
self.label.setFont(font)
self.label.setStyleSheet("background-color: rgb(alpha 0.5);\n"
"color: rgb(255, 255, 255);")
self.label.setObjectName("label")
self.label_2 = QtWidgets.QLabel(self.centralwidget)
self.label_2.setGeometry(QtCore.QRect(110, 360, 201, 16))
font = QtGui.QFont()
font.setFamily("HelveticaNeueCyr")
font.setPointSize(10)
font.setStyleStrategy(QtGui.QFont.PreferAntialias)
self.label_2.setFont(font)
self.label_2.setStyleSheet("background-color: rgb(alpha 0.5);\n"
"color: rgb(255, 255, 255);")
self.label_2.setObjectName("label_2")
self.label_3 = QtWidgets.QLabel(self.centralwidget)
self.label_3.setGeometry(QtCore.QRect(100, 360, 16, 16))
font = QtGui.QFont()
font.setPointSize(11)
self.label_3.setFont(font)
self.label_3.setStyleSheet("background-color: rgb(alpha 0.5);\n"
"color: rgb(255, 255, 255);")
self.label_3.setObjectName("label_3")
MainWindow.setCentralWidget(self.centralwidget)
self.retranslateUi(MainWindow)
QtCore.QMetaObject.connectSlotsByName(MainWindow)
def retranslateUi(self, MainWindow):
_translate = QtCore.QCoreApplication.translate
MainWindow.setWindowTitle(_translate("MainWindow", "Вход"))
self.pushButton.setText(_translate("MainWindow", "Войти"))
self.lineEdit.setPlaceholderText(_translate("MainWindow", "Введите логин"))
self.lineEdit_2.setPlaceholderText(_translate("MainWindow", "Введите пароль"))
self.label.setText(_translate("MainWindow", "Войдите"))
self.label_2.setText(_translate("MainWindow", "Максимальная длина пароля - 12"))
self.label_3.setText(_translate("MainWindow", "*"))
1
1 answers
Try this way:
import sys
from PyQt5 import QtCore, QtGui, QtWidgets
#from design2 import Ui_MainWindow
class Ui_MainWindow(object):
def setupUi(self, MainWindow):
MainWindow.setObjectName("MainWindow")
MainWindow.resize(400, 600)
MainWindow.setMinimumSize(QtCore.QSize(400, 600))
MainWindow.setMaximumSize(QtCore.QSize(400, 600))
font = QtGui.QFont()
font.setFamily("HelveticaNeueCyr")
font.setPointSize(8)
font.setStyleStrategy(QtGui.QFont.PreferAntialias)
MainWindow.setFont(font)
MainWindow.setWindowOpacity(1.0)
MainWindow.setStyleSheet("background-color: qlineargradient(spread:pad, x1:0.011, y1:1, x2:1, y2:0, stop:0 rgba(182, 29, 212, 255), stop:1 rgba(48, 7, 182, 255));")
MainWindow.setTabShape(QtWidgets.QTabWidget.Rounded)
self.centralwidget = QtWidgets.QWidget(MainWindow)
self.centralwidget.setObjectName("centralwidget")
self.pushButton = QtWidgets.QPushButton(self.centralwidget)
self.pushButton.setGeometry(QtCore.QRect(100, 400, 201, 71))
font = QtGui.QFont()
font.setFamily("HelveticaNeueCyr")
font.setPointSize(22)
self.pushButton.setFont(font)
self.pushButton.setCursor(QtGui.QCursor(QtCore.Qt.OpenHandCursor))
self.pushButton.setStyleSheet("color: rgb(255, 255, 255);\n"
"border-radius: 30px;\n"
"background-color: qlineargradient(spread:repeat, x1:0, y1:0.545, x2:1, y2:0.563, stop:0 rgba(53, 255, 255, 255), stop:1 rgba(42, 255, 177, 255));")
self.pushButton.setObjectName("pushButton")
self.lineEdit = QtWidgets.QLineEdit(self.centralwidget)
self.lineEdit.setGeometry(QtCore.QRect(70, 200, 261, 61))
font = QtGui.QFont()
font.setFamily("HelveticaNeueCyr")
font.setPointSize(22)
self.lineEdit.setFont(font)
self.lineEdit.setStyleSheet("background-color: rgb(255, 255, 255);\n"
"border-radius: 30px;")
self.lineEdit.setMaxLength(100)
self.lineEdit.setAlignment(QtCore.Qt.AlignCenter)
self.lineEdit.setClearButtonEnabled(True)
self.lineEdit.setObjectName("lineEdit")
self.lineEdit_2 = QtWidgets.QLineEdit(self.centralwidget)
self.lineEdit_2.setGeometry(QtCore.QRect(70, 290, 261, 61))
font = QtGui.QFont()
font.setFamily("HelveticaNeueCyr")
font.setPointSize(22)
font.setItalic(False)
font.setUnderline(False)
font.setStrikeOut(False)
font.setStyleStrategy(QtGui.QFont.PreferAntialias)
self.lineEdit_2.setFont(font)
self.lineEdit_2.setAutoFillBackground(False)
self.lineEdit_2.setStyleSheet("background-color: rgb(255, 255, 255);\n"
"border-radius: 30px;\n"
"\n"
"")
self.lineEdit_2.setMaxLength(12)
self.lineEdit_2.setEchoMode(QtWidgets.QLineEdit.Password)
self.lineEdit_2.setCursorPosition(0)
self.lineEdit_2.setAlignment(QtCore.Qt.AlignCenter)
self.lineEdit_2.setDragEnabled(False)
self.lineEdit_2.setReadOnly(False)
self.lineEdit_2.setClearButtonEnabled(True)
self.lineEdit_2.setObjectName("lineEdit_2")
self.label = QtWidgets.QLabel(self.centralwidget)
self.label.setGeometry(QtCore.QRect(120, 90, 181, 101))
font = QtGui.QFont()
font.setFamily("HelveticaNeueCyr")
font.setPointSize(35)
self.label.setFont(font)
self.label.setStyleSheet("background-color: rgb(alpha 0.5);\n"
"color: rgb(255, 255, 255);")
self.label.setObjectName("label")
self.label_2 = QtWidgets.QLabel(self.centralwidget)
self.label_2.setGeometry(QtCore.QRect(110, 360, 201, 16))
font = QtGui.QFont()
font.setFamily("HelveticaNeueCyr")
font.setPointSize(10)
font.setStyleStrategy(QtGui.QFont.PreferAntialias)
self.label_2.setFont(font)
self.label_2.setStyleSheet("background-color: rgb(alpha 0.5);\n"
"color: rgb(255, 255, 255);")
self.label_2.setObjectName("label_2")
self.label_3 = QtWidgets.QLabel(self.centralwidget)
self.label_3.setGeometry(QtCore.QRect(100, 360, 16, 16))
font = QtGui.QFont()
font.setPointSize(11)
self.label_3.setFont(font)
self.label_3.setStyleSheet("background-color: rgb(alpha 0.5);\n"
"color: rgb(255, 255, 255);")
self.label_3.setObjectName("label_3")
MainWindow.setCentralWidget(self.centralwidget)
self.retranslateUi(MainWindow)
QtCore.QMetaObject.connectSlotsByName(MainWindow)
def retranslateUi(self, MainWindow):
_translate = QtCore.QCoreApplication.translate
MainWindow.setWindowTitle(_translate("MainWindow", "Вход"))
self.pushButton.setText(_translate("MainWindow", "Войти"))
self.lineEdit.setPlaceholderText(_translate("MainWindow", "Введите логин"))
self.lineEdit_2.setPlaceholderText(_translate("MainWindow", "Введите пароль"))
self.label.setText(_translate("MainWindow", "Войдите"))
self.label_2.setText(_translate("MainWindow", "Максимальная длина пароля - 12"))
self.label_3.setText(_translate("MainWindow", "*"))
class ExampleApp(QtWidgets.QMainWindow, Ui_MainWindow):
def __init__(self):
super().__init__()
self.setupUi(self)
self.pushButton.clicked.connect(self.onClicked) # +++
def onClicked(self): # +++
if self.lineEdit.text() != '123' or self.lineEdit_2.text() != '1234':
msg = QtWidgets.QMessageBox.information(self, 'Error', 'Неправильный логин или пароль')
else:
msg = QtWidgets.QMessageBox.information(self, 'Welcom', 'Добро пожаловать!')
if __name__=="__main__":
app = QtWidgets.QApplication(sys.argv)
window = ExampleApp()
window.show()
sys.exit(app.exec_())
1
Author: S. Nick, 2020-01-15 18:23:44