Introduction

In this PyQt5 blog of Python, I will show you a simple and attractive login form.
Requirement
Python IDLE 3.7
Before moving on here, you should read my previous articles that will be very useful to you:
Source code
  1. from PyQt5 import QtCore, QtGui, QtWidgets
  2. class Ui_Dialog(object):
  3. def setupUi(self, Dialog):
  4. Dialog.setObjectName("Dialog")
  5. Dialog.resize(812, 632)
  6. Dialog.setStyleSheet("background-color: rgb(0, 170, 255);")
  7. self.frame = QtWidgets.QFrame(Dialog)
  8. self.frame.setGeometry(QtCore.QRect(90, 80, 631, 461))
  9. self.frame.setStyleSheet("background-color: rgb(255, 255, 255);")
  10. self.frame.setFrameShape(QtWidgets.QFrame.StyledPanel)
  11. self.frame.setFrameShadow(QtWidgets.QFrame.Raised)
  12. self.frame.setObjectName("frame")
  13. self.label = QtWidgets.QLabel(self.frame)
  14. self.label.setGeometry(QtCore.QRect(230, 80, 171, 51))
  15. font = QtGui.QFont()
  16. font.setPointSize(16)
  17. self.label.setFont(font)
  18. self.label.setStyleSheet("color: rgb(255, 0, 0);")
  19. self.label.setObjectName("label")
  20. self.label_2 = QtWidgets.QLabel(self.frame)
  21. self.label_2.setGeometry(QtCore.QRect(90, 190, 121, 31))
  22. font = QtGui.QFont()
  23. font.setPointSize(12)
  24. self.label_2.setFont(font)
  25. self.label_2.setObjectName("label_2")
  26. self.label_3 = QtWidgets.QLabel(self.frame)
  27. self.label_3.setGeometry(QtCore.QRect(90, 260, 121, 21))
  28. font = QtGui.QFont()
  29. font.setPointSize(12)
  30. self.label_3.setFont(font)
  31. self.label_3.setObjectName("label_3")
  32. self.lineEdit = QtWidgets.QLineEdit(self.frame)
  33. self.lineEdit.setGeometry(QtCore.QRect(260, 190, 231, 31))
  34. self.lineEdit.setStyleSheet("background-color: rgb(209, 207, 255);")
  35. self.lineEdit.setObjectName("lineEdit")
  36. self.lineEdit_2 = QtWidgets.QLineEdit(self.frame)
  37. self.lineEdit_2.setGeometry(QtCore.QRect(260, 260, 231, 31))
  38. self.lineEdit_2.setStyleSheet("background-color:#d1cfff;")
  39. self.lineEdit_2.setEchoMode(QtWidgets.QLineEdit.Password)
  40. self.lineEdit_2.setObjectName("lineEdit_2")
  41. self.pushButton = QtWidgets.QPushButton(self.frame)
  42. self.pushButton.setGeometry(QtCore.QRect(350, 360, 161, 41))
  43. font = QtGui.QFont()
  44. font.setPointSize(14)
  45. self.pushButton.setFont(font)
  46. self.pushButton.setStyleSheet("background-color: rgb(0, 170, 0);")
  47. self.pushButton.setObjectName("pushButton")
  48. self.pushButton_2 = QtWidgets.QPushButton(self.frame)
  49. self.pushButton_2.setGeometry(QtCore.QRect(220, 360, 101, 41))
  50. self.pushButton_2.setStyleSheet("background-color:#ffff7f;")
  51. self.pushButton_2.setObjectName("pushButton_2")
  52. self.retranslateUi(Dialog)
  53. QtCore.QMetaObject.connectSlotsByName(Dialog)
  54. def retranslateUi(self, Dialog):
  55. _translate = QtCore.QCoreApplication.translate
  56. Dialog.setWindowTitle(_translate("Dialog", "Dialog"))
  57. self.label.setText(_translate("Dialog", "Log in Form"))
  58. self.label_2.setText(_translate("Dialog", "User Name"))
  59. self.label_3.setText(_translate("Dialog", "Password"))
  60. self.pushButton.setText(_translate("Dialog", "Log in"))
  61. self.pushButton_2.setText(_translate("Dialog", "Sign up"))
  62. if __name__ == "__main__":
  63. import sys
  64. app = QtWidgets.QApplication(sys.argv)
  65. Dialog = QtWidgets.QDialog()
  66. ui = Ui_Dialog()
  67. ui.setupUi(Dialog)
  68. Dialog.show()
  69. sys.exit(app.exec_())
Source Description
Output
Let’s run the above source using Python IDLE. The code runs available various Python IDE such as PyCharm, Spyder, and eclipse, etc.