8.14作业

自由发挥登录窗口的应用场景,实现一个登录窗口界面

#ifndef MYWIDGET_H
#define MYWIDGET_H

#include <QWidget>
#include <QLabel>
#include <QLineEdit>
#include <QPushButton>
#include <QRadioButton>
#include <QCheckBox>

QT_BEGIN_NAMESPACE
namespace Ui { class MyWidget; }
QT_END_NAMESPACE

class MyWidget : public QWidget
{
    Q_OBJECT

public:
    MyWidget(QWidget *parent = nullptr);
    ~MyWidget();

private:
    Ui::MyWidget *ui;

    QLabel* m_plabmpic;
    QMovie* m_pMoviem;

    QLabel* m_plabname;
    QLabel* m_plabpass;
    QLineEdit* m_plinename;
    QLineEdit* m_plinepass;

    QCheckBox* m_pChkRember;
    QCheckBox* m_pChkKeepLog;

    QPushButton* m_pButtonForget;
    QPushButton* m_pButtonCreate;
    QPushButton* m_pButtonScan;
    QPushButton* m_pButtonLogin;
};
#endif // MYWIDGET_H
#include "mywidget.h"
#include "ui_mywidget.h"

#include <QIcon>
#include <QMovie>

MyWidget::MyWidget(QWidget *parent)
    : QWidget(parent),m_plabmpic(NULL),m_pMoviem(NULL),m_plabname(NULL),m_plabpass(NULL)
    ,m_plinename(NULL),m_plinepass(NULL),m_pChkRember(NULL),m_pChkKeepLog(NULL)
    ,m_pButtonForget(NULL),m_pButtonCreate(NULL),m_pButtonScan(NULL),m_pButtonLogin(NULL)
{
    //界面
    this->setWindowTitle("QQ");//标题
    this->resize(540,415);//大小
    this->setFixedSize(540,415);
    this->setWindowIcon(QIcon("C:\\Users\\Fubuki\\Desktop\\QTProjects\\pictrue\\10.jpg"));//图片
    this->setWindowFlag(Qt::FramelessWindowHint);//去抬头
    this->setStyleSheet("background-color:pink");//背景
    //动图
    m_plabmpic = new QLabel(this);
    m_plabmpic->move(0,0);
    m_plabmpic->resize(540,155);
    m_pMoviem = new QMovie("C:\\Users\\Fubuki\\Desktop\\QTProjects\\pictrue\\1111.webp");//动图
    m_plabmpic->setMovie(m_pMoviem);
    m_plabmpic->setScaledContents(true);//图片大小自适应
    m_pMoviem->start();//动图启动
    //账号
    m_plabname = new QLabel(this);//标签
    m_plabname->resize(30,30);
    m_plabname->move(125,210);
    m_plabname->setScaledContents(true);
    m_plabname->setPixmap(QPixmap("C:\\Users\\Fubuki\\Desktop\\QTProjects\\pictrue\\GUEhrbHagAEx7jY.jfif"));

    m_plinename = new QLineEdit(this);//行编辑器
    m_plinename->resize(280,30);
    m_plinename->move(160,210);
    m_plinename->setPlaceholderText("账号\\手机号\\邮箱");//占位
    //密码
    m_plabpass = new QLabel(this);//标签
    m_plabpass->resize(30,30);
    m_plabpass->move(125,260);
    m_plabpass->setScaledContents(true);
    m_plabpass->setPixmap(QPixmap("C:\\Users\\Fubuki\\Desktop\\QTProjects\\pictrue\\passwd.png"));

    m_plinepass = new QLineEdit(this);//行编辑器
    m_plinepass->resize(280,30);
    m_plinepass->move(160,260);
    m_plinepass->setPlaceholderText("密码");
    m_plinepass->setEchoMode(QLineEdit::Password);//输入模式

    m_pChkRember = new QCheckBox("记住密码",this);
    m_pChkRember->resize(90,30);
    m_pChkRember->move(135,300);
    m_pChkKeepLog = new QCheckBox("保持登陆",this);
    m_pChkKeepLog->resize(90,30);
    m_pChkKeepLog->move(240,300);
    m_pButtonForget = new QPushButton("忘记密码",this);
    m_pButtonForget->resize(90,30);
    m_pButtonForget->move(350,300);
    m_pButtonForget->setStyleSheet("border-radius:5px");

    m_pButtonCreate = new QPushButton("注册账号",this);
    m_pButtonCreate->resize(90,30);
    m_pButtonCreate->move(5,385);
    m_pButtonCreate->setStyleSheet("border-radius:5px");
    m_pButtonScan = new QPushButton(this);
    m_pButtonScan->resize(60,60);
    m_pButtonScan->move(480,355);
    m_pButtonScan->setStyleSheet("border-image: url(C:\\Users\\Fubuki\\Desktop\\QTProjects\\pictrue\\login.png)");
    //m_pButtonScan->setStyleSheet("border: none");

    //登录按钮
    m_pButtonLogin = new QPushButton("登录",this);
    m_pButtonLogin->resize(315,40);
    m_pButtonLogin->move(125,335);
    m_pButtonLogin->setStyleSheet("background-color:rgb(31,200,253);color:white;border-radius:5px");
}

MyWidget::~MyWidget()
{
    if(NULL != m_plabmpic) delete m_plabmpic;
    if(NULL != m_pMoviem) delete m_pMoviem;
    if(NULL != m_plabname) delete m_plabname;
    if(NULL != m_plabpass) delete m_plabpass;
    if(NULL != m_plinename) delete m_plinename;
    if(NULL != m_plinepass) delete m_plinepass;
    if(NULL != m_pButtonLogin) delete m_pButtonLogin;
    if(NULL != m_pChkRember) delete m_pChkRember;
    if(NULL != m_pChkKeepLog) delete m_pChkKeepLog;
    if(NULL != m_pButtonForget) delete m_pButtonForget;
    if(NULL != m_pButtonCreate) delete m_pButtonCreate;
    if(NULL != m_pButtonScan) delete m_pButtonScan;
}

思维导图

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值