QT实现一个简易的动图登录界面

前言

第一次学习QT,并利用纯代码的形式写一个登录窗口,后续将为登录界面逐步实现功能(比如按钮的跳转/账号连接数据库/注册功能等等)。
下面是我实现一个简易的登录界面代码

1 Headers

#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <QMainWindow>
#include<QPushButton>   //按钮类
#include<QMovie>        //动图类
#include<QLineEdit>     //行编辑类
#include<QLabel>        //标签类


QT_BEGIN_NAMESPACE
namespace Ui { class MainWindow; }
QT_END_NAMESPACE

class MainWindow : public QMainWindow
{
    Q_OBJECT

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

private:
    Ui::MainWindow *ui;
};
#endif // MAINWINDOW_H

2 mainwindow.cpp

其中图片自行添加路径即可

#include "mainwindow.h"
#include "ui_mainwindow.h"

MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent)
    , ui(new Ui::MainWindow)
{
    ui->setupUi(this);

    //窗口设置
    this->resize(600,600);       //定义窗口为600*600
    this->setFixedSize(600,600); //固定窗口为600*600
  //  this->setWindowFlag(Qt::FramelessWindowHint); //窗口标题去除
    this->setStyleSheet("background-color:rgb(179,183,170)");//设置窗口背景颜色

    //行编辑器的设置,账号框
    QLineEdit *lineEdit_1 = new QLineEdit(this);//实例化一个行编辑器对象,用于输入登录账号
    lineEdit_1->resize(300,60); //行编辑器的大小
    lineEdit_1->move(180,300);//移动行编辑器的位置
    lineEdit_1->setStyleSheet("background-color:white");//设置行编辑器的背景颜色
    lineEdit_1->setPlaceholderText("账号");//使用占位,提示行编辑器输入的内容

    //行编辑器的设置,密码框
    QLineEdit *lineEdit_2 = new QLineEdit(this);//实例化对象,用于输入密码
    lineEdit_2->resize(300,60); //行编辑器的大小
    lineEdit_2->move(180,360);//移动到合适的位置
    lineEdit_2->setPlaceholderText("密码");//使用占位,提示输入框的内容
    lineEdit_2->setStyleSheet("background-color:white");//设置背景颜色
    lineEdit_2->setEchoMode(QLineEdit::Password);//设置为密码格式

    //标签类的设置
    QLabel *label = new QLabel("使用QT写一个登录界面",this);//实例化标签对象,用于填充文字
    label->move(250,250);//移动到合适的位置
    label->resize(300,40);//设置标签大小

    //按钮类的设置,用于登录
    QPushButton *button =new QPushButton("登录",this);//实例化按钮对象,添加登录文字
    button->resize(200,50);
    button->move(200,450);
    button->setStyleSheet("background-color:rgb(138,183,113);border-radius:10px");//设置按钮颜色和按钮圆角

    //动图类的设置,用于接收动图
    QMovie *movie = new QMovie(":/picture/images/8287.gif_wh860.gif");
    QLabel *label_1 = new QLabel(this);//实例化一个label标签,用于存放动图
    label_1->resize(600,240);//设置框的大小
    label_1->move(0,0);//移动相应的位置
    label_1->setMovie(movie);//动图放到label框里
    movie->start();//动图开动
    label_1->setScaledContents(true);//照片自动适应label的大小
}

MainWindow::~MainWindow()
{
    delete ui;
}

3效果图

在这里插入图片描述

  • 9
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值