初识pyqt5之登录和注册界面(1)
1.注册界面register_base.py
from PyQt5 import QtCore, QtGui, QtWidgets
class Ui_register_pane(object):
def setupUi(self, register_pane):
register_pane.setObjectName("register_pane")
register_pane.resize(520, 450)
register_pane.setMinimumSize(QtCore.QSize(520, 450))
register_pane.setMaximumSize(QtCore.QSize(520, 450))
font = QtGui.QFont()
font.setPointSize(9)
font.setBold(True)
font.setItalic(True)
font.setWeight(75)
register_pane.setFont(font)
register_pane.setStyleSheet("#register_pane{\n"
"border-image: url(img/3.jpg);\n"
"}")
self.user_le = QtWidgets.QLineEdit(register_pane)
self.user_le.setGeometry(QtCore.QRect(280, 125, 159, 30))
self.user_le.setMinimumSize(QtCore.QSize(0, 30))
font = QtGui.QFont()
font.setPointSize(15)
font.setBold(True)
font.setItalic(True)
font.setWeight(75)
self.user_le.setFont(font)
self.user_le.setObjectName("user_le")
self.pwd_le = QtWidgets.QLineEdit(register_pane)
self.pwd_le.setGeometry(QtCore.QRect(280, 174, 159, 30))
self.pwd_le.setMinimumSize(QtCore.QSize(0, 30))
font = QtGui.QFont()
font.setPointSize(15)
font.setBold(True)
font.setItalic(True)
font.setWeight(75)
self.pwd_le.setFont(font)
self.pwd_le.setObjectName("pwd_le")
self.pwd_le2 = QtWidgets.QLineEdit(register_pane)
self.pwd_le2.setGeometry(QtCore.QRect(280, 223, 159, 30))
self.pwd_le2.setMinimumSize(QtCore.QSize(0, 30))
font = QtGui.QFont()
font.setPointSize(15)
font.setBold(True)
font.setItalic(True)
font.setWeight(75)
self.pwd_le2.setFont(font)
self.pwd_le2.setObjectName("pwd_le2")
self.email_le = QtWidgets.QLineEdit(register_pane)
self.email_le.setGeometry(QtCore.QRect(280, 272, 159, 30))
self.email_le.setMinimumSize(QtCore.QSize(0, 30))
font = QtGui.QFont()
font.setPointSize(15)
font.setBold(True)
font.setItalic(True)
font.setWeight(75)
self.email_le.setFont(font)
self.email_le.setObjectName("email_le")
self.valicode_le = QtWidgets.QLineEdit(register_pane)
self.valicode_le.setGeometry(QtCore.QRect(280, 321, 159, 30))
self.valicode_le.setMinimumSize(QtCore.QSize(0, 30))
font = QtGui.QFont()
font.setPointSize(15)
font.setBold(True)
font.setItalic(True)
font.setWeight(75)
self.valicode_le.setFont(font)
self.valicode_le.setObjectName("valicode_le")
self.register_bt = QtWidgets.QPushButton(register_pane)
self.register_bt.setEnabled(False)
self.register_bt.setGeometry(QtCore.QRect(190, 370, 251, 50))
self.register_bt.setMinimumSize(QtCore.QSize(0, 50))
font = QtGui.QFont()
font.setPointSize(20)
font.setBold(False)
font.setItalic(False)
font.setWeight(75)
self.register_bt.setFont(font)
self.register_bt.setStyleSheet("#register_bt{\n"
" \n"
" \n"
" background-color: rgb(0, 170, 255);\n"
" color: rgb(0, 85, 255);\n"
"}\n"
"#register_bt:hover{\n"
" \n"
" background-color: rgb(55, 0, 166);\n"
" color: rgb(255, 255, 127);\n"
"}\n"
"#register_bt:disabled{\n"
" background-color: rgb(113, 113, 113);\n"
" color: rgb(35, 35, 35);\n"
"}")
icon = QtGui.QIcon()
icon.addPixmap(QtGui.QPixmap("img/4.jpg"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.register_bt.setIcon(icon)
self.register_bt.setIconSize(QtCore.QSize(40, 40))
self.register_bt.setCheckable(False)
self.register_bt.setObjectName("register_bt")
self.valicode_bt = QtWidgets.QPushButton(register_pane)
self.valicode_bt.setGeometry(QtCore.QRect(444, 272, 71, 30))
self.valicode_bt.setStyleSheet("#valicode_bt{\n"
"background-color: rgb(255, 255, 127);\n"
"}\n"
"#valicode_bt:hover{\n"
" background-color: rgb(222, 222, 111);\n"
"}")
self.valicode_bt.setObjectName("valicode_bt")
self.register_exit = QtWidgets.QPushButton(register_pane)
self.register_exit.setGeometry(QtCore.QRect(10, 40, 80, 80))
font = QtGui.QFont()
font.setPointSize(20)
font.setBold(True)
font.setItalic(True)
font.setWeight(75)
self.register_exit.setFont(font)
self.register_exit.setStyleSheet("#register_exit{\n"
"background-color: rgb(255, 170, 0);\n"
" color: rgb(170, 0, 255);\n"
" border-radius:40px;\n"
"}\n"
"#register_exit:hover{\n"
" background-color: rgb(255, 0, 0);\n"
" color: rgb(85, 0, 255);\n"
"}")
self.register_exit.setObjectName("register_exit")
self.label_6 = QtWidgets.QLabel(register_pane)
self.label_6.setGeometry(QtCore.QRect(110, 20, 401, 51))
font = QtGui.QFont()
font.setPointSize(25)
font.setBold(True)
font.setItalic(True)
font.setWeight(75)
self.label_6.setFont(font)
self.label_6.setStyleSheet("color: rgb(255, 0, 0);")
self.label_6.setObjectName("label_6")
self.user_warm_lb = QtWidgets.QLabel(register_pane)
self.user_warm_lb.setGeometry(QtCore.QRect(440, 130, 81, 21))
self.user_warm_lb.setStyleSheet("\n"
"color: rgb(255, 0, 0);\n"
"background-color: rgb(255, 255, 255);")
self.user_warm_lb.setObjectName("user_warm_lb")
self.user_warm_lb.setHidden(True)
self.pwd_warm_lb = QtWidgets.QLabel(register_pane)
self.pwd_warm_lb.setGeometry(QtCore.QRect(440, 229, 71, 21))
self.pwd_warm_lb.setStyleSheet("color: rgb(255, 0, 0);\n"
"background-color: rgb(255, 255, 255);")
self.pwd_warm_lb.setObjectName("pwd_warm_lb")
self.pwd_warm_lb.setHidden(True)
self.valicode_warm_lb = QtWidgets.QLabel(register_pane)
self.valicode_warm_lb.setGeometry(QtCore.QRect(440, 325, 81, 21))
self.valicode_warm_lb.setStyleSheet("color: rgb(255, 0, 0);\n"
"background-color: rgb(255, 255, 255);")
self.valicode_warm_lb.setObjectName("valicode_warm_lb")
self.valicode_warm_lb.setHidden(True)
self.register_clear = QtWidgets.QPushButton(register_pane)
self.register_clear.setGeometry(QtCore.QRect(10, 130, 80, 80))
font = QtGui.QFont()
font.setPointSize(20)
font.setBold(True)
font.setItalic(True)
font.setWeight(75)
self.register_clear.setFont(font)
self.register_clear.setStyleSheet("#register_clear{\n"
"color: rgb(170, 255, 127);\n"
"background-color: rgb(85, 170, 127);\n"
"border-radius:40px;\n"
"}\n"
"#register_clear:hover{\n"
" color: rgb(0, 255, 0);\n"
" background-color: rgb(0, 91, 0);\n"
"}")
self.register_clear.setObjectName("register_clear")
self.widget = QtWidgets.QWidget(register_pane)
self.widget.setGeometry(QtCore.QRect(189, 115, 84, 241))
self.widget.setObjectName("widget")
self.verticalLayout_2 = QtWidgets.QVBoxLayout(self.widget)
self.verticalLayout_2.setContentsMargins(0, 0, 0, 0)
self.verticalLayout_2.setObjectName("verticalLayout_2")
self.label = QtWidgets.QLabel(self.widget)
font = QtGui.QFont()
font.setPointSize(13)
font.setBold(True)
font.setItalic(True)
font.setWeight(75)
self.label.setFont(font)
self.label.setStyleSheet("color: rgb(255, 255, 255);")
self.label.setObjectName("label")
self.verticalLayout_2.addWidget(self.label)
self.label_2 = QtWidgets.QLabel(self.widget)
font = QtGui.QFont()
font.setPointSize(13)
font.setBold(True)
font.setItalic(True)
font.setWeight(75)
self.label_2.setFont(font)
self.label_2.setStyleSheet("color: rgb(255, 255, 255);")
self.label_2.setObjectName("label_2")
self.verticalLayout_2.addWidget(self.label_2)
self.label_3 = QtWidgets.QLabel(self.widget)
font = QtGui.QFont()
font.setPointSize(13)
font.setBold(True)
font.setItalic(True)
font.setWeight(75)
self.label_3.setFont(font)
self.label_3.setStyleSheet("color: rgb(255, 255, 255);")
self.label_3.setObjectName("label_3")
self.verticalLayout_2.addWidget(self.label_3)
self.label_4 = QtWidgets.QLabel(self.widget)
font = QtGui.QFont()
font.setPointSize(13)
font.setBold(True)
font.setItalic(True)
font.setWeight(75)
self.label_4.setFont(font)
self.label_4.setStyleSheet("color: rgb(255, 255, 255);")
self.label_4.setObjectName("label_4")
self.verticalLayout_2.addWidget(self.label_4)
self.label_5 = QtWidgets.QLabel(self.widget)
font = QtGui.QFont()
font.setPointSize(13)
font.setBold(True)
font.setItalic(True)
font.setWeight(75)
self.label_5.setFont(font)
self.label_5.setStyleSheet("color: rgb(255, 255, 255);")
self.label_5.setObjectName("label_5")
self.verticalLayout_2.addWidget(self.label_5)
self.retranslateUi(register_pane)
self.register_bt.clicked.connect(register_pane.register)
self.valicode_bt.clicked.connect(register_pane.get_valicode)
self.register_clear.clicked.connect(register_pane.clear_text)
self.register_exit.clicked.connect(register_pane.back_login)
self.user_le.textChanged['QString'].connect(register_pane.enable_login_bt)
self.pwd_le.textChanged['QString'].connect(register_pane.enable_login_bt)
self.pwd_le2.textChanged['QString'].connect(register_pane.enable_login_bt)
self.email_le.textChanged['QString'].connect(register_pane.enable_login_bt)
self.valicode_le.textChanged['QString'].connect(register_pane.enable_login_bt)
QtCore.QMetaObject.connectSlotsByName(register_pane)
def retranslateUi(self, register_pane):
_translate = QtCore.QCoreApplication.translate
register_pane.setWindowTitle(_translate("register_pane", "庆丰量化注册页面"))
self.register_bt.setText(_translate("register_pane", "注册"))
self.valicode_bt.setText(_translate("register_pane", "获取验证码"))
self.register_exit.setText(_translate("register_pane", "退出"))
self.label_6.setText(_translate("register_pane", "庆丰量化投资平台欢迎您!"))
self.user_warm_lb.setText(_translate("register_pane", "用户名不可用!"))
self.pwd_warm_lb.setText(_translate("register_pane", "密码不一样"))
self.valicode_warm_lb.setText(_translate("register_pane", "验证码错误!"))
self.register_clear.setText(_translate("register_pane", "重置"))
self.label.setText(_translate("register_pane", "用户名:"))
self.label_2.setText(_translate("register_pane", "密码:"))
self.label_3.setText(_translate("register_pane", "确认密码:"))
self.label_4.setText(_translate("register_pane", "邮箱:"))
self.label_5.setText(_translate("register_pane", "验证码:"))
2.进行封装registerpane.py
from PyQt5.Qt import QWidget
from PyQt5.QtCore import Qt, pyqtSignal, QPropertyAnimation, QPoint, QEasingCurve, QAbstractAnimation
from PyQt5.QtWidgets import QApplication
import sys
from register_base import Ui_register_pane
class RegisterPane(QWidget,Ui_register_pane):
exit_register_pane_signal=pyqtSignal()
def __init__(self, parent=None, *args, **kwargs):
super().__init__(parent, *args, **kwargs)
self.setAttribute(Qt.WA_StyledBackground, True)
self.setupUi(self)
def register(self):
username = self.user_le.text()
pwd = self.pwd_le.text()
pwd2 = self.pwd_le2.text()
email = self.valicode_le.text()
valicode = self.email_le.text()
if pwd !=pwd2:
self.pwd_warm_lb.setHidden(False)
else:
self.pwd_warm_lb.setHidden(True)
def get_valicode(self):
print("获取验证码")
def clear_text(self):
self.user_le.setText(" ")
self.pwd_le.setText(" ")
self.pwd_le2.setText(" ")
self.valicode_le.setText(" ")
self.email_le.setText(" ")
self.register_bt.setDisabled(True)
def exit_register_pane(self):
animation = QPropertyAnimation(self)
animation.setTargetObject(self)
animation.setPropertyName(b"pos")
animation.setStartValue(QPoint(0, 0))
animation.setEndValue(QPoint(0, 450))
animation.setDuration(1000)
animation.setEasingCurve(QEasingCurve.OutBounce)
animation.start(QAbstractAnimation.DeleteWhenStopped)
def back_login(self):
self.exit_register_pane_signal.emit()
def enable_login_bt(self):
username=self.user_le.text()
pwd=self.pwd_le.text()
pwd2=self.pwd_le2.text()
email=self.valicode_le.text()
valicode=self.email_le.text()
if username!="" and pwd!="" and pwd2!="" and email!="" and valicode !="":
self.register_bt.setDisabled(False)
else:
self.register_bt.setDisabled(True)
初识pyqt5之登录和注册界面(2)链接:link
版权声明:本文为m0_49795468原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。