作业
#include "mywidget.h"
MyWidget::MyWidget(QWidget *parent)
: QWidget(parent)
{
//设置窗口大小
this->resize(1025,533);
//固定窗口大小
this->setFixedSize(1025,533);
//设置窗口背景色,设置弧度
//this->setStyleSheet("background-image:url(E:/QT/Qt/pictrue/Milk.png);");
//隐藏栏目头
this->setWindowFlag(Qt::FramelessWindowHint);
//提示标签1
QLabel *labe1 = new QLabel("密码登录",this);
//设置位置
labe1->move(500,70);
//设置长宽
labe1->resize(120,50);
//设置字体大小
//labe1->setStyleSheet("background-color:rgb(76,162,229);");
// 创建 QFont 实例,设置字体大小
QFont font = labe1->font();
font.setPointSize(16); // 设置字体大小为 16 点
// 应用字体设置到 QLabel
labe1->setFont(font);
//提示标签2
QLabel *labe2 = new QLabel("短信登录",this);
//设置位置
labe2->move(710,70);
//设置长宽
labe2->resize(120,50);
//设置字体大小
//labe2->setStyleSheet("background-color:rgb(76,162,229);");
// 创建 QFont 实例,设置字体大小
QFont font1 = labe1->font();
font1.setPointSize(16); // 设置字体大小为 16 点
// 应用字体设置到 QLabel
labe2->setFont(font1);
//输入框1
QLineEdit *le1 = new QLineEdit(this);
//移动位置,相较于左上原点0,0
le1->move(460,125);
//设置输入框大小
le1->resize(430,60);
//设置默认显示
le1->setPlaceholderText("请输入账号");
//设置弧度,设置背景色
le1->setStyleSheet("background-color:rgb(127,214,245);border-radius:5px");
//输入框2
QLineEdit *le2 = new QLineEdit(this);
//移动位置,相较于左上原点0,0
le2->move(460,190);
//设置输入框大小
le2->resize(430,60);
//设置默认显示
le2->setPlaceholderText("请输入密码");
//设置弧度,设置背景色
le2->setStyleSheet("background-color:rgb(127,214,245);border-radius:5px");
//设置密码显示方式
le2->setEchoMode(QLineEdit::Password);
//标签1
QLabel *lab1 = new QLabel(this);
//设置标签图片
lab1->setPixmap(QPixmap("E:\\QT\\Qt\\pictrue\\login_1.png"));
//设置标签位置
lab1->move(410,135);
//设置标签大小
lab1->resize(50,50);
//图片适应标签大小
lab1->setScaledContents(true);
//标签
QLabel *lab2 = new QLabel(this);
//设置标签图片
lab2->setPixmap(QPixmap("E:\\QT\\Qt\\pictrue\\login_2.png"));
//设置标签位置
lab2->move(410,195);
//设置标签大小
lab2->resize(50,50);
//图片适应标签大小
lab2->setScaledContents(true);
//按钮1
QPushButton *ptn1 = new QPushButton("注册",this);
//设置坐标
ptn1->move(460,290);
//设置长宽
ptn1->resize(200,50);
//设置背景颜色,弧度,字体颜色
ptn1->setStyleSheet("background-color:rgb(127,214,245);color:white;border-radius:5px");
//按钮2
QPushButton *ptn2 = new QPushButton("登录",this);
//设置坐标
ptn2->move(690,290);
//设置长宽
ptn2->resize(200,50);
//设置背景颜色,弧度,字体颜色
ptn2->setStyleSheet("background-color:rgb(127,214,245);color:white;border-radius:5px");
//提示框3
QLabel *labe3 = new QLabel("其他方式登录",this);
//设置标签位置
labe3->move(600,350);
//设置标签大小
labe3->resize(120,50);
//提示框4
QLabel *labe4 = new QLabel(this);
//设置标签位置
labe4->move(520,410);
//设置标签大小
labe4->resize(60,60);
//设置标签填充图片
labe4->setPixmap(QPixmap("E:\\QT\\Qt\\pictrue\\weixin.png"));
labe4->setScaledContents(true);
//提示框4
QLabel *labe5 = new QLabel(this);
//设置标签位置
labe5->move(670,410);
//设置标签大小
labe5->resize(60,60);
//设置标签填充图片
labe5->setPixmap(QPixmap("E:\\QT\\Qt\\pictrue\\weibo.png"));
labe5->setScaledContents(true);
//提示框4
QLabel *labe6 = new QLabel(this);
//设置标签位置
labe6->move(820,410);
//设置标签大小
labe6->resize(60,60);
//设置标签填充图片
labe6->setPixmap(QPixmap("E:\\QT\\Qt\\pictrue\\qq_1.png"));
labe6->setScaledContents(true);
//动态图
QLabel *labe7 = new QLabel(this);
labe7->move(50,100);
labe7->resize(350,300);
QMovie *mv = new QMovie("E:\\QT\\Qt\\pictrue\\new.gif");
labe7->setMovie(mv);
mv->start();
labe7->setScaledContents(true);
}
void MyWidget::paintEvent(QPaintEvent *event) {
QPainter painter(this);
QPixmap background("E:/QT/Qt/pictrue/Milk.png");
painter.drawPixmap(0, 0, width(), height(), background);
QWidget::paintEvent(event);
}
MyWidget::~MyWidget()
{
}
头文件
#ifndef MYWIDGET_H
#define MYWIDGET_H
#include <QWidget>
#include <QLineEdit>
#include <QLabel>
#include <QIcon>
#include <QPushButton>
#include <QMovie>
#include <QPainter>
class MyWidget : public QWidget
{
Q_OBJECT
protected:
void paintEvent(QPaintEvent *event) override;
public:
MyWidget(QWidget *parent = nullptr);
~MyWidget();
};
#endif // MYWIDGET_H