pyqt5登陆界面

在这里插入图片描述

# 参考: pyqt5实现登录界面的模板
#  http://www.zzvips.com/article/169656.html
import sys, os
from PyQt5.QtWidgets import *
from PyQt5.QtCore import *
from PyQt5.QtGui import *
################################################
#######创建主窗口
################################################
class MainWindow(QMainWindow):
 def __init__(self, *args, **kwargs):
     super().__init__(*args, **kwargs)
     self.setWindowTitle('主界面')
     self.showMaximized()

btn_sty1 = """QPushButton{
        color:#333;
        font-family: 微软雅黑,宋体,Arial,Helvetica,Verdana,sans-serif;
        background-color: transparent;
        border:0px solid white;border-radius:10px;
    }
    QPushButton:hover{
        color:#333;
        font-family: 微软雅黑,宋体,Arial,Helvetica,Verdana,sans-serif;
        background-color: transparent;
        border:0px solid white;border-radius:10px;
    }

    QPushButton:pressed{
        color:#333;
        font-family: 微软雅黑,宋体,Arial,Helvetica,Verdana,sans-serif;
        background-color: transparent;
        border:0px solid white;border-radius:10px;
        padding-left:3px;
        padding-top:3px;
    }
"""
img_log_back = 'img/login_back3.gif'
################################################
#######对话框
################################################
class logindialog(QDialog):
    def __init__(self, *args, **kwargs):
        super().__init__(*args, **kwargs)
        self.setWindowTitle('登录界面')
        self.resize(320, 160)
        self.setFixedSize(self.width(), self.height())
        self.setWindowFlags(Qt.WindowCloseButtonHint)


        self.back_img = QLabel(self)
        self.back_img.resize(self.width(),self.height())
        self.back_img.setFrameStyle(QFrame.Panel | QFrame.Sunken)
        self.back_img.move(0, 0)
        movie = QMovie(img_log_back)
        movie.setScaledSize(self.back_img.size())
        movie.start()

        self.back_img.setMovie(movie)
        self.back_img.setScaledContents(True)
        self.back_img.setAlignment(Qt.AlignBottom | Qt.AlignRight)

        ###### 设置界面控件
        self.frame = QFrame(self)
        # self.frame.setStyleSheet ("background-color: #000000;color: #ffffff;border-radius:10px;padding:0px 0px;margin:0px 0px;")
        hlay_mwin = QHBoxLayout(self.frame)
        vlay_minfo = QVBoxLayout()
        vlay_minfo.setContentsMargins(0,0,0,0)
        vlay_minfo.addWidget(QLabel())

        hlay_info = QHBoxLayout()
        vlay_ainfo = QVBoxLayout()

        s_hlay = QHBoxLayout()
        self.lab_account = QLabel("帐号: ")
        self.edit_account = QLineEdit()
        self.edit_account.setPlaceholderText("请输入账号")
        self.btn_regist = QPushButton()
        self.btn_regist.setText("注册帐号")
        self.btn_regist.setFlat(True)
        self.btn_regist.setStyleSheet(btn_sty1)
        hSpacer = QSpacerItem(10, 10, QSizePolicy.Minimum, QSizePolicy.Minimum)
        s_hlay.addItem(hSpacer)
        s_hlay.addWidget(self.lab_account)
        s_hlay.addWidget(self.edit_account)
        s_hlay.addWidget(self.btn_regist)
        vlay_ainfo.addLayout(s_hlay)

        s_hlay = QHBoxLayout()
        self.lab_password = QLabel("密码: ")
        self.edit_password = QLineEdit()
        self.edit_password.setPlaceholderText("请输入密码")
        self.btn_repasswd = QPushButton()
        self.btn_repasswd.setText("找回密码")
        self.btn_repasswd.setFlat(True)
        self.btn_repasswd.setStyleSheet(btn_sty1)
        hSpacer = QSpacerItem(10, 10, QSizePolicy.Minimum, QSizePolicy.Minimum)
        s_hlay.addItem(hSpacer)
        s_hlay.addWidget(self.lab_password)
        s_hlay.addWidget(self.edit_password)
        s_hlay.addWidget(self.btn_repasswd)
        vlay_ainfo.addLayout(s_hlay)

        log_img = QLabel()
        log_img.resize(60,80)
        log_img.setStyleSheet("border:1px solid #aaa;")
        img = QImage()
        img.load('img/portrait/icon-test_7.png')
        pic = QPixmap.fromImage(img.scaled(log_img.size(), Qt.IgnoreAspectRatio))

        pic.scaled(log_img.size(), Qt.IgnoreAspectRatio)
        log_img.setPixmap(pic)

        hSpacer = QSpacerItem(10, 10, QSizePolicy.Minimum, QSizePolicy.Minimum)
        hlay_info.addItem(hSpacer)
        hlay_info.addWidget(log_img)
        hlay_info.addLayout(vlay_ainfo)
        vlay_minfo.addLayout(hlay_info)

        s_hlay = QHBoxLayout()
        self.cb1 = QCheckBox('记住密码')
        self.cb2 = QCheckBox('自动登陆')
        hSpacer = QSpacerItem(10, 10, QSizePolicy.Expanding, QSizePolicy.Minimum)
        s_hlay.addItem(hSpacer)
        s_hlay.addWidget(self.cb1)
        hSpacer = QSpacerItem(20, 10, QSizePolicy.Minimum, QSizePolicy.Minimum)
        s_hlay.addItem(hSpacer)
        s_hlay.addWidget(self.cb2)
        hSpacer = QSpacerItem(10, 10, QSizePolicy.Expanding, QSizePolicy.Minimum)
        s_hlay.addItem(hSpacer)
        vlay_minfo.addLayout(s_hlay)


        s_hlay = QHBoxLayout()
        self.btn_enter = QPushButton()
        self.btn_enter.setText("登陆")
        self.btn_enter.setStyleSheet("background:#975;")
        # self.btn_quit = QPushButton()
        # self.btn_quit.setText("取消")
        hSpacer = QSpacerItem(10, 10, QSizePolicy.Minimum, QSizePolicy.Minimum)
        s_hlay.addItem(hSpacer)
        s_hlay.addWidget(self.btn_enter)
        # s_hlay.addWidget(self.btn_quit)
        vlay_minfo.addLayout(s_hlay)

        hSpacer = QSpacerItem(10, 10, QSizePolicy.Expanding, QSizePolicy.Minimum)
        hlay_mwin.addItem(hSpacer)
        hlay_mwin.addLayout(vlay_minfo)
        hSpacer = QSpacerItem(10, 10, QSizePolicy.Expanding, QSizePolicy.Minimum)
        hlay_mwin.addItem(hSpacer)

        ###### 绑定按钮事件
        self.btn_enter.clicked.connect(self.on_btn_enter_clicked)
        # self.btn_quit.clicked.connect(QCoreApplication.instance().quit)

    def on_btn_enter_clicked(self):
        # 账号判断
        if self.edit_account.text() == "":
            return

        # 密码判断
        if self.edit_password.text() == "":
            return

         # 通过验证,关闭对话框并返回1
        self.accept()


################################################
#######程序入门
################################################
if __name__ == "__main__":
    app = QApplication(sys.argv)
    dialog = logindialog()
    if dialog.exec_()==QDialog.Accepted:
        the_window = MainWindow()
        the_window.show()
        sys.exit(app.exec_())

  • 3
    点赞
  • 33
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值