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()
{
}

思维导图

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/226260.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【数据库】基于时间戳的并发访问控制,乐观模式,时间戳替代形式及存在的问题,与封锁模式的对比

使用时间戳的并发控制 ​专栏内容: 手写数据库toadb 本专栏主要介绍如何从零开发,开发的步骤,以及开发过程中的涉及的原理,遇到的问题等,让大家能跟上并且可以一起开发,让每个需要的人成为参与者。 本专栏会…

MySQL之binlog文件过多处理方法

背景 MySQL由于大量读写,导致binlog文件特别的多。从而导致服务器disk空间不足问题。 先备份binlog文件 tar -zcvf mysql.tar.gz mysql/data/mysql-bin.00* 修改MySQL配置 binlog过期时间 show variables like expire_logs_days; 这里 0 表示 永不过期 如果为 n…

LeedCode刷题---双指针问题(二)

顾得泉:个人主页 个人专栏:《Linux操作系统》 《C/C》 《LeedCode刷题》 键盘敲烂,年薪百万! 一、盛水最多的容器 题目链接:盛最多水的容器 题目描述 给定一个长度为 n 的整数数组 height 。有 n 条垂线&#xf…

Nacos下载、启动与使用的保姆级教程!

nacos下载及启动 nacos下载 首先打开nacos官方仓库链接。Nacos发布版本仓库。 点击Tags按钮找到nacos的历史发布的所有版本,点击download。 然后选择需要的下载即可。 后缀为.tar.gz为linux系统上运行的压缩包 后缀为.zip为windows系统上运行的压缩包 zip格式的…

vivado时序方法检查5

TIMING-14 &#xff1a; 时钟树上的 LUT 在时钟树上发现 LUT <cell_name> 。不建议在时钟路径上包含 LUT 单元。 描述 时钟路径上的 LUT 可能导致偏差过大 &#xff0c; 因为时钟必须在穿过互连结构的常规布线资源上进行布线。除偏差过大外 &#xff0c; 这些路径更…

[论文阅读]BEVFusion

BEVFusion BEVFusion: A Simple and Robust LiDAR-Camera Fusion Framework BEVFusion&#xff1a;简单而强大的激光雷达相机融合框架 论文网址&#xff1a;BEVFusion 论文代码&#xff1a;BEVFusion 简读论文 论文背景&#xff1a;激光雷达和摄像头是自动驾驶系统中常用的两…

SRC挖掘漏洞XSS

Markdown是一种轻量级标记语言&#xff0c;创始人为约翰格鲁伯&#xff08;John Gruber&#xff09;。它允许人们使用易读易写的纯文本格式编写文档&#xff0c;然后转换成有效的 XHTML&#xff08;或者HTML&#xff09;文档。这种语言吸收了很多在电子邮件中已有的纯文本标记的…

App自动化测试持续集成效率提高50%

持续集成是一种开发实践&#xff0c;它倡导团队成员需要频繁的集成他们的工作&#xff0c;每次集成都通过自动化构建&#xff08;包括编译、构建、自动化测试&#xff09;来验证&#xff0c;从而尽快地发现集成中的错误。让正在开发的软件始终处于可工作状态&#xff0c;让产品…

C++STL的string类(一)

文章目录 前言C语言的字符串 stringstring类的常用接口string类的常见构造string (const string& str);string (const string& str, size_t pos, size_t len npos); capacitysize和lengthreserveresizeresize可以删除数据 modify尾插插入字符插入字符串 inserterasere…

模电笔记。。。。

模电 2.8 蜂鸣器 按照蜂鸣器驱动方式分为有源蜂鸣器和无源蜂鸣器 有源的有自己的震荡电路&#xff0c;无源的要写代码控制。 里面有个线圈&#xff0c;相当于电感&#xff0c;储能&#xff0c;通直隔交。 蜂鸣器的参数&#xff1a;额定电压&#xff0c;工作电压&#xff0…

深入理解mysql的explain命令

1 基础 全网最全 | MySQL EXPLAIN 完全解读 1.1 MySQL中EXPLAIN命令提供的字段包括&#xff1a; id&#xff1a;查询的标识符。select_type&#xff1a;查询的类型&#xff08;如SIMPLE, PRIMARY, SUBQUERY等&#xff09;。table&#xff1a;查询的是哪个表。partitions&…

【算法每日一练]-结构优化(保姆级教程 篇4 树状数组,线段树,分块模板篇)

除了基础的前缀和&#xff0c;后面还有树状数组&#xff0c;线段树&#xff0c;分块的结构优化。 目录 分块 分块算法步骤&#xff1a; 树状数组 树状数组步骤&#xff1a; 线段树点更新 点更新步骤&#xff1a; 线段树区间更新 区间更新步骤&#xff1a; 分块 分块算…

【wvp】测试记录

ffmpeg 这是个莫名其妙的报错&#xff0c;通过排查&#xff0c;应该是zlm哪个进程引起的 会议室的性能 网络IO也就20M

业绩超预期,股价却暴跌,MongoDB股票还值得投资吗?

来源&#xff1a;猛兽财经 作者&#xff1a;猛兽财经 尽管MongoDB(MDB)本季度的财报超出了预期&#xff0c;并提高了全年预期&#xff0c;但它的股价在财报发布后还是出现了暴跌。 MongoDB截至2023年10月31日的第三财季&#xff0c;收入同比增长了30%&#xff0c;达到了4.329亿…

各大电商平台商品详情API调用(API接口)、淘宝API、京东API、拼多多API、1688API文档案例演示

电商API接口的作用主要表现在以下几个方面&#xff1a; 数据支持&#xff1a;通过开放API接口&#xff0c;其他软件、应用、网站等可以访问电商平台的数据库和功能&#xff0c;利用这些数据提供更丰富的功能和更好的服务。例如&#xff0c;API接口可以收集用户的购物记录、搜索…

第二十一章总结。。

计算机网络实现了堕胎计算机间的互联&#xff0c;使得它们彼此之间能够进行数据交流。网络应用程序就是再已连接的不同计算机上运行的程序&#xff0c;这些程序借助于网络协议&#xff0c;相互之间可以交换数据&#xff0c;编写网络应用程序前&#xff0c;首先必须明确网络协议…

状态机的练习:按键控制led灯

设计思路&#xff1a; 三个按键控制led输出。 三个按键经过滤波(消抖)&#xff0c;产生三个按键标志信号。 三个led数据的产生模块&#xff08;流水&#xff0c;跑马&#xff0c;闪烁模块&#xff09;&#xff0c;分别产生led信号。 这六路信号&#xff08;三路按键信号&am…

4种常见的限流算法

限流算法 1、固定窗口 含义&#xff1a; 在一个固定长度的时间窗口内限制请求数量&#xff0c;每来一个请求&#xff0c;请求次数加一&#xff0c;如果请求数量超过最大限制&#xff0c;就拒绝该请求 优点&#xff1a; 实现简单&#xff0c;容易理解。 缺点&#xff1a; ①限流…

Ngxin实现301重定向映射

要实现将abc.love域名映射到http://baidu.com网站&#xff0c;并进行重定向&#xff0c;你需要在Nginx的配置文件中添加一个新的server块&#xff0c;如下所示&#xff1a; server {listen 80;server_name abc.com; #替换成自己的域名&#xff0c;记得要映射到这台服务器&…

element UI改写时间线组件为左右分布

2023.12.4今天我学习了如何使用element的时间线组件&#xff0c;效果如&#xff1a; 代码如下&#xff1a;&#xff08;关键代码 v-if"item.send_type"&#xff09;判断左右分布情况。因为如果没有这个判断的话&#xff0c;其实会两边都有显示。可以用一个判断表示0显…