12.7作业
1.
#include "mywidget.h"
MyWidget::MyWidget(QWidget *parent)
: QWidget(parent)
{
//***********窗口相关设置***********
//设置窗体大小
this->resize(540,410);
this->setFixedSize(540,410);
//取消菜单栏
this->setWindowFlag(Qt::FramelessWindowHint);
//**********标签相关设置*****************
//新建第一个标签,设置大小,设置背景色
QLabel *lab1 = new QLabel(this);
lab1->resize(540,160);
lab1->setStyleSheet("background-color:pink");
//动态图 接收动图
QMovie *mv = new QMovie("H:\\QT-test\\QT\\ikun.gif");
//将动态图放入标签
lab1->setMovie(mv);
//将图动起来
mv->start();
//自动适应lab1
lab1->setScaledContents(true);
//新建第二个标签
QLabel *lab2 = new QLabel(this);
//设置标签大小
lab2->resize(25,25);
//设置标签
lab2->setPixmap(QPixmap("H:\\QT-test\\QT\\th.jpg"));
//移动图片
lab2->move(10,10);
//让图片自适应
lab2->setScaledContents(true);
//新建第三个标签
QLabel *lab3 = new QLabel(this);
//移动标签
lab3->move(160,220);
//设置标签大小
lab3->resize(25,25);
//设置图片
lab3->setPixmap(QPixmap("H:\\QT-test\\QT\\th2.jpg"));
//让图片自适应
lab3->setScaledContents(true);
//新建第四个标签
QLabel *lab4 = new QLabel(this);
//移动标签
lab4->move(160,270);
//设置标签大小
lab4->resize(25,25);
//设置图片
lab4->setPixmap(QPixmap("H:\\QT-test\\QT\\th3.jpg"));
//让图片自适应
lab4->setScaledContents(true);
//新建第一个行编辑器
QLineEdit *edit1 = new QLineEdit(this);
//移动行编辑器
edit1->move(200,220);
//设置行编辑器大小
edit1->resize(200,25);
//占位
edit1->setPlaceholderText("请输入练习时长");
//新建第一个行编辑器
QLineEdit *edit2 = new QLineEdit(this);
//移动行编辑器
edit2->move(200,270);
//设置行编辑器大小
edit2->resize(200,25);
//占位
edit2->setPlaceholderText("你是不是小黑子");
//设置显示模式:密码
edit2->setEchoMode(QLineEdit::Password);
//新建按钮
QPushButton *btn1 = new QPushButton(this);
//移动按钮
btn1->move(160,320);
//设置按钮大小
btn1->resize(240,25);
//设置按钮背景色和圆弧角
btn1->setStyleSheet("background-color:pink;border-radius:6px");
//设置按钮内容
btn1->setText("进入真爱粉群");
// QLabel *lab5 = new QLabel(this);
// lab5->move(220,120);
// lab5->resize(85,85);
// lab5->setStyleSheet("background-color:pink;border-radius:42px");
// //lab5->setPixmap(QPixmap("H:\\QT-test\\QT\\pictrue\\login.png"));
// lab5->setScaledContents(true);
//新建标签 放入图片设置为圆形----网上借鉴的
QLabel *lab5 = new QLabel(this);
lab5->setFixedSize(80, 80);
lab5->move(220,120);
// 加载图片并调整尺寸
QPixmap pixmap("H:\\QT-test\\QT\\th.jpg");
pixmap = pixmap.scaled(lab5->size(), Qt::KeepAspectRatioByExpanding, Qt::SmoothTransformation);
// 创建圆形mask,使用QPainter绘制
QPixmap roundPixmap(lab5->size());
roundPixmap.fill(Qt::transparent);
QPainter painter(&roundPixmap);
painter.setRenderHint(QPainter::Antialiasing, true);
painter.setPen(Qt::NoPen);
painter.setBrush(Qt::white);
painter.drawEllipse(roundPixmap.rect());
// 将原始图片按照mask绘制到圆形pixmap上
painter.setCompositionMode(QPainter::CompositionMode_SourceIn);
painter.drawPixmap(0, 0, pixmap);
// 将圆形pixmap设置为label的背景图像
lab5->setPixmap(roundPixmap);
QLabel *lab6 = new QLabel(this);
lab6->resize(60, 60);
lab6->move(0,350);
lab6->setPixmap(QPixmap("H:\\QT-test\\QT\\lanqiu.png"));
lab6->setScaledContents(true);
}
MyWidget::~MyWidget()
{
}
思维导图