PyQt5实现登录页面


Posted in Python onMay 30, 2020

本文实例为大家分享了PyQt5实现登录页面的具体代码,供大家参考,具体内容如下

效果图:

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_())

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python中使用mysql数据库详细介绍
Mar 27 Python
Python运行不显示DOS窗口的解决方法
Oct 22 Python
python判断列表的连续数字范围并分块的方法
Nov 16 Python
Python检查和同步本地时间(北京时间)的实现方法
Dec 03 Python
python 实现将多条曲线画在一幅图上的方法
Jul 07 Python
django使用admin站点上传图片的实例
Jul 28 Python
Python字符串格式化f-string多种功能实现
May 07 Python
如何在sublime编辑器中安装python
May 20 Python
Python flask框架实现查询数据库并显示数据
Jun 04 Python
Python内置函数property()如何使用
Sep 01 Python
Pytorch 图像变换函数集合小结
Feb 01 Python
Python道路车道线检测的实现
Jun 27 Python
Python网页解析器使用实例详解
May 30 #Python
PyQt5实现画布小程序
May 30 #Python
Java ExcutorService优雅关闭方式解析
May 30 #Python
Python定时任务APScheduler原理及实例解析
May 30 #Python
Python生成器next方法和send方法区别详解
May 30 #Python
Python新手学习标准库模块命名
May 29 #Python
Django Path转换器自定义及正则代码实例
May 29 #Python
You might like
discuz authcode 经典php加密解密函数解析
2020/07/12 PHP
Discuz批量替换帖子内容的方法(使用SQL更新数据库)
2014/06/23 PHP
PHP图片处理之使用imagecopy函数添加图片水印实例
2014/11/19 PHP
WordPress中给媒体文件添加分类和标签的PHP功能实现
2015/12/31 PHP
Zend Framework教程之响应对象的封装Zend_Controller_Response实例详解
2016/03/07 PHP
当鼠标滑过文本框自动选中输入框内容的JS代码分享
2013/11/26 Javascript
jQuery获得页面元素的绝对/相对位置即绝对X,Y坐标
2014/03/06 Javascript
ExtJS4利根据登录后不同的角色分配不同的树形菜单
2014/05/02 Javascript
通过JQuery将DIV的滚动条滚动到指定的位置方便自动定位
2014/05/05 Javascript
基于jQuery日历插件制作日历
2016/03/11 Javascript
函数四种调用模式以及其中的this指向
2017/01/16 Javascript
jQuery窗口拖动功能的实现代码
2017/02/04 Javascript
jQuery访问浏览器本地存储cookie、localStorage和sessionStorage的基本用法
2017/10/20 jQuery
使用Node.js实现ORM的一种思路详解(图文)
2017/10/24 Javascript
vue基础之模板和过滤器用法实例分析
2019/03/12 Javascript
javascript获取select值的方法完整实例
2019/06/20 Javascript
小程序识别身份证,银行卡,营业执照,驾照的实现
2019/11/05 Javascript
Python ORM框架SQLAlchemy学习笔记之数据添加和事务回滚介绍
2014/06/10 Python
Python中的匿名函数使用简介
2015/04/27 Python
动感网页相册 python编写简单文件夹内图片浏览工具
2016/08/17 Python
详解python上传文件和字符到PHP服务器
2017/11/24 Python
Python读取视频的两种方法(imageio和cv2)
2018/04/15 Python
Anaconda 离线安装 python 包的操作方法
2018/06/11 Python
python Tkinter的图片刷新实例
2019/06/14 Python
python修改文件内容的3种方法详解
2019/11/15 Python
python logging 日志的级别调整方式
2020/02/21 Python
Python基于httpx模块实现发送请求
2020/07/07 Python
Python中return函数返回值实例用法
2020/11/19 Python
Python字符串对齐、删除字符串不需要的内容以及格式化打印字符
2021/01/23 Python
matplotlib交互式数据光标mpldatacursor的实现
2021/02/03 Python
美国滑雪板和装备购物网站:Skis.com
2018/12/20 全球购物
营业员个人总结的自我评价
2013/10/25 职场文书
毕业生自我鉴定
2013/12/04 职场文书
销售员岗位职责范本
2015/04/11 职场文书
2016年六一文艺汇演开幕词
2016/03/04 职场文书
解决mysql问题:由于找不到MSVCR120.dll,无法继续执行代码
2021/06/26 MySQL