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();//自动适应lab1lab1->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(){}

思维导图