12.7作业

cpp 复制代码
#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()
{
}

思维导图

相关推荐
羊羊小栈2 天前
基于「YOLO目标检测 + 多模态AI分析」的PCB缺陷检测分析系统(vue+flask+数据集+模型训练)
vue.js·人工智能·yolo·目标检测·flask·毕业设计·大作业
羊羊小栈2 天前
基于「YOLO目标检测 + 多模态AI分析」的植物病害检测分析系统(vue+flask+数据集+模型训练)
人工智能·yolo·目标检测·毕业设计·创业创新·大作业
编程乐学24 天前
原创模板--基于 Android 开发的驾考训练App
android·android studio·大作业·移动端开发·安卓移动开发·驾考宝典·驾考app
编程乐学1 个月前
网络资源模板--基于Android Studio 实现的运动场馆预约
android·android studio·大作业·移动端开发·安卓移动开发·场馆预约·运动场馆预约
编程乐学1 个月前
网络资源模板--基于Android Studio 实现的课程管理App
android·android studio·大作业·移动端开发·安卓移动开发·课程管理
编程乐学1 个月前
网络资源模板--基于Android Studio 实现的图书商城App
android·android studio·商城·大作业·移动端开发·购物商城·安卓大作业
编程乐学2 个月前
网络资源模板--基于Android Studio 实现的校园心里咨询预约App
android·android studio·预约系统·大作业·移动端开发·安卓移动开发·心理咨询预约
编程乐学2 个月前
网络资源模板--基于Android Studio 实现的聊天App
android·android studio·大作业·移动端开发·安卓移动开发·聊天app
编程乐学2 个月前
网络资源模板--基于Android Studio 实现的极简天气App
android·ide·android studio·大作业·移动端开发·天气预报·极简天气
编程乐学3 个月前
网络资源模板--基于Android Studio 实现的咖啡点餐App
android·android studio·大作业·奶茶点餐·安卓移动开发·咖啡点餐