本文实例为大家分享了PyQt5实现登录页面的具体代码,供大家参考,具体内容如下
效果图:
python代码:
import sys from PyQt5.QtCore import Qt from PyQt5.QtGui import QPixmap, QPainter, QColor, QFont, QIcon from PyQt5.QtWidgets import QWidget, QVBoxLayout, QApplication, QLabel, QDesktopWidget, QHBoxLayout, QFormLayout, \ QPushButton, QLineEdit class LoginForm(QWidget): def __init__(self): super().__init__() self.initUI() def initUI(self): """ 初始化UI :return: """ self.setObjectName("loginWindow") self.setStyleSheet('#loginWindow{background-color:white}') self.setFixedSize(650, 400) self.setWindowTitle("登录") self.setWindowIcon(QIcon('static/logo_title.png')) self.text = "xxxx消息盒子用户登录" # 添加顶部logo图片 pixmap = QPixmap("static/logo_header.png") scaredPixmap = pixmap.scaled(650, 140) label = QLabel(self) label.setPixmap(scaredPixmap) # 绘制顶部文字 lbl_logo = QLabel(self) lbl_logo.setText(self.text) lbl_logo.setStyleSheet("QWidget{color:white;font-weight:600;background: transparent;font-size:30px;}") lbl_logo.setFont(QFont("Microsoft YaHei")) lbl_logo.move(150, 50) lbl_logo.setAlignment(Qt.AlignCenter) lbl_logo.raise_() # 登录表单内容部分 login_widget = QWidget(self) login_widget.move(0, 140) login_widget.setGeometry(0, 140, 650, 260) hbox = QHBoxLayout() # 添加左侧logo logolb = QLabel(self) logopix = QPixmap("static/logo.png") logopix_scared = logopix.scaled(100, 100) logolb.setPixmap(logopix_scared) logolb.setAlignment(Qt.AlignCenter) hbox.addWidget(logolb, 1) # 添加右侧表单 fmlayout = QFormLayout() lbl_workerid = QLabel("用户名") lbl_workerid.setFont(QFont("Microsoft YaHei")) led_workerid = QLineEdit() led_workerid.setFixedWidth(270) led_workerid.setFixedHeight(38) lbl_pwd = QLabel("密码") lbl_pwd.setFont(QFont("Microsoft YaHei")) led_pwd = QLineEdit() led_pwd.setEchoMode(QLineEdit.Password) led_pwd.setFixedWidth(270) led_pwd.setFixedHeight(38) btn_login = QPushButton("登录") btn_login.setFixedWidth(270) btn_login.setFixedHeight(40) btn_login.setFont(QFont("Microsoft YaHei")) btn_login.setObjectName("login_btn") btn_login.setStyleSheet("#login_btn{background-color:#2c7adf;color:#fff;border:none;border-radius:4px;}") fmlayout.addRow(lbl_workerid, led_workerid) fmlayout.addRow(lbl_pwd, led_pwd) fmlayout.addWidget(btn_login) hbox.setAlignment(Qt.AlignCenter) # 调整间距 fmlayout.setHorizontalSpacing(20) fmlayout.setVerticalSpacing(12) hbox.addLayout(fmlayout, 2) login_widget.setLayout(hbox) self.center() self.show() def center(self): qr = self.frameGeometry() cp = QDesktopWidget().availableGeometry().center() qr.moveCenter(cp) self.move(qr.topLeft()) if __name__ == "__main__": app = QApplication(sys.argv) ex = LoginForm() sys.exit(app.exec_())
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持自学编程网。
- 本文固定链接: https://zxbcw.cn/post/187652/
- 转载请注明:必须在正文中标注并保留原文链接
- QQ群: PHP高手阵营官方总群(344148542)
- QQ群: Yii2.0开发(304864863)