广州证券

PyQt5实现登录页面

 更新时间:2020年05月30日 10:34:26   转载 作者:xiaopengyaonixi  
这篇文章主要为大家详细介绍了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_())

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

广州证券相关的文章

  • TensorFlow模型保存/载入的两种方法

    TensorFlow模型保存/载入的两种方法

    这篇文章主要为大家详细介绍了TensorFlow 模型保存/载入的两种方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-03-03
  • numpy linalg模块的具体使用方法

    numpy linalg模块的具体使用方法

    这篇文章主要介绍了numpy linalg模块的具体使用方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-05-05
  • python实现简单http服务器功能

    python实现简单http服务器功能

    这篇文章主要为大家详细介绍了python实现简单http服务器功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-09-09
  • Python常见排序操作示例【字典、列表、指定元素等】

    Python常见排序操作示例【字典、列表、指定元素等】

    这篇文章主要介绍了Python常见排序操作,结合实例形式总结分析了Python针对字典、列表及指定元素等常见排序操作实现技巧,需要的朋友可以参考下
    2018-08-08
  • Python守护线程用法实例

    Python守护线程用法实例

    这篇文章主要介绍了Python守护线程用法,结合具体实例形式分析了Python守护线程的功能、使用方法与相关操作技巧,需要的朋友可以参考下
    2017-06-06
  • python Django框架实现自定义表单提交

    python Django框架实现自定义表单提交

    这篇文章主要为大家详细介绍了Django框架实现自定义表单提交,针对"表单提交"和"Ajax提交"两种方式来解决CSRF带来的错误进行讲解,感兴趣的小伙伴们可以参考一下
    2016-03-03
  • python使用pipeline批量读写redis的方法

    python使用pipeline批量读写redis的方法

    今天小编就为大家分享一篇python使用pipeline批量读写redis的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-02-02
  • 使用python分析统计自己微信朋友的信息

    使用python分析统计自己微信朋友的信息

    这篇文章主要介绍了python分析统计自己微信朋友的信息,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-07-07
  • python deque模块简单使用代码实例

    python deque模块简单使用代码实例

    这篇文章主要介绍了python deque模块简单使用代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-03-03
  • python算法与数据结构之单链表的实现代码

    python算法与数据结构之单链表的实现代码

    链表是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。这篇文章主要介绍了python算法与数据结构之单链表的实现代码,需要的朋友可以参考下
    2019-06-06

最新评论

深高CWB1(580014)

上汽CWB1(580016)

赣粤CWB1(580017)

石化CWB1(580019)

上港CWB1(580020)

青啤CWB1(580021)

国电CWB1(580022)

康美CWB1(580023)

宝钢CWB1(580024)

葛洲CWB1(580025)