24黑马QT笔记之画背景图

2023-10-27

24黑马QT笔记之画背景图

1 区别不是窗口的显示图片:
在窗口中绘图必须重写绘图事件,在绘图事件中绘图。即用到QPainter画家和xxx.begin(this)函数指定绘图设备。
与之前学的区别,下面的代码是在标签中显示图片,只是简单的显示一张图片,且在标签而并非在窗口显示。虽然最终标签还是挂在窗口显示,因为标签指定窗口为父对象嘛,但是图片并非是在窗口绘图的,是在标签。

    //1 显示某张资源图片
    ui->MyLabel->setPixmap(QPixmap("://02_Image/Luffy.png"));  //根据资源路径设置图片内容到QLabel中
    ui->MyLabel->setScaledContents(true);  

2 在窗口画背景图代码:
1)头文件只需声明绘图事件:

    //在窗口绘图必须重写绘图事件 与标签上显示图片区别
    //使用事件的重写声明了都要写出类外定义
    //当窗口需要绘图时 窗口的绘图事件内部自动调用 也可以通过updata手动刷新 (这个事件与定时器事件内部自动触发类似) 
    void paintEvent(QPaintEvent *event);

2).cpp文件重写绘图事件:

void MyWidget::paintEvent(QPaintEvent *event)
{
    //1 创建画家
    QPainter p;

    //2 指定绘图设备 也可以创建时指定 即QPainter p(this);与begin和end组合作用等同
    //QPainter p(this);
    p.begin(this);

    //3 开始绘图
    //1)通过QPixmap
    //p.drawPixmap(0,0,width(),height(),QPixmap("://yun.png.jpg"));
    //2)通过QImage
    p.drawImage(rect(),QImage("://yun.png.jpg"));


    p.end();
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

24黑马QT笔记之画背景图 的相关文章

  • 57黑马QT笔记之数据库的语句执行--插入(包括SQL语句的增删改查和复制表结构)

    57黑马QT笔记之数据库的语句执行 插入 概念 1 回滚 也就是我们常见的事务回滚 例如当我要删除某个数据库时 我开启了一个事务 然后再弹出一个对话框给你 是否提交事务 或者作出事务的回滚 也就是说取消了这个删除的操作 并不会执行到删除数据
  • 27黑马QT笔记之QPixmap和QBitmap的区别

    27黑马QT笔记之QPixmap和QBitmap的区别 前提 首先我们先要了解什么是透明和不透明的图片 1 透明是指显示后与背景颜色一样的 2 不透明就是有自己的颜色 与背景颜色不一样 看下图 前者就是透明的 后者是背景是白色的 是不透明的
  • 45黑马QT笔记之Qt下的Udp的广播和组播

    45黑马QT笔记之Qt下的Udp的广播和组播 1 广播 在使用QUdpSocket类的writeDatagram 函数发送数据的时候 其中第二个参数host应该指定为广播地址 QHostAddress Broadcast此设置相当于QHos
  • 24黑马QT笔记之画背景图

    24黑马QT笔记之画背景图 1 区别不是窗口的显示图片 在窗口中绘图必须重写绘图事件 在绘图事件中绘图 即用到QPainter画家和xxx begin this 函数指定绘图设备 与之前学的区别 下面的代码是在标签中显示图片 只是简单的显示
  • 49黑马QT笔记之利用TCP传输文件

    49黑马QT笔记之利用TCP传输文件 前提 黑马视频的代码第二次不能传输的原因是因为 客户端在第一次传输完成后 isStart false 即第二次无法接收文件信息并打开文件 所以他会出现 write device not open 我们在
  • 60黑马QT笔记之SQLite

    60黑马QT笔记之SQLite 1 与MYSQL的区别 1 SQLite是本地数据库 不需要和MYSQL一样需要连接 2 插入时不支持自动增长 所以主键例如id 在输入时需要自己去控制 3 使用时需要先提前建好后缀为xxx db的文本文件
  • 44黑马QT笔记之IP地址的划分与是否在同一网段

    44黑马QT笔记之IP地址的划分与是否在同一网段 前提 1 网络ID ip地址的第一个字节 2 网络地址 在这里你可以认为它就是网络ID 3 网段 用来区分网络上的主机是否在同一区段内 只要知道ip地址和子网掩码就知道该网段 在局域网中只有
  • 31黑马QT笔记之QPixmap、QImage、QPicture功能大总结

    31黑马QT笔记之QPixmap QImage QPicture功能大总结 QPixmap QImage既可以用于绘图 又可以作绘图设备时保存图片 而QPicture只能用于作绘图设备时保存图片状态 保存前需要用到前两种方法绘图 要显示必须
  • 28黑马QT笔记之QPixmap保存图片

    28黑马QT笔记之QPixmap保存图片 1 QPixmap QImage QPictrue三种绘图工具之间的区别 上一篇我们讲到QPixmap如何在窗口进行绘图 接下来本篇要讲的是QPixmap如何保存一张图片 即将已有图片再按自己方式保
  • 35黑马QT笔记之QFile写文件

    35黑马QT笔记之QFile写文件 1 如何在文本编辑区写内容保存到一个本地文件呢 1 利用文件对话框函数getSaveFileName获取要创建的文件路径 实际上还没真正在电脑创建 只是意味着你要创建的路径 2 将要创建的文件路径与QFi
  • 42黑马QT笔记之Linux下Tcp/Udp通信过程

    42黑马QT笔记之Linux下Tcp Udp通信过程 1 Linux下Tcp通信过程 1 第一次握手 执行connect 2 第二次握手 accept 返回 3 第三次握手 connect 返回 4 共有三个套接字 客户端1个fd 服务端一
  • 23黑马QT笔记之猜数字游戏答案

    23黑马QT笔记之猜数字游戏答案 代码在自己写的day04的第一个项目 想要代码的直接评论 写上自己的邮箱 不要像以前发私信了 因为CSDN有时消息不同步 或者看了之后忘了
  • 47黑马QT笔记之Qt下Udp通信过程例子及实现广播与组播

    47黑马QT笔记之Qt下Udp通信过程例子及实现广播与组播 1 客户端 客户端需要注意一点 客户端没有绑定端口的话 服务端无法发送信息给客户端 Linux下可以是因为他们在同一端口 所以Qt下你也在同一端口内通信 即窗口内自己连自己的Ip和
  • 36黑马QT笔记之QString、QByteArray、char*的互相转换

    36黑马QT笔记之QString QByteArray char 的互相转换 1 直接看代码 if 0 QString gt QByteArray QString str 123 QByteArray array str toUtf8 中文
  • 37黑马QT笔记之QFileInfo提供文件相关信息

    37黑马QT笔记之QFileInfo提供文件相关信息 1 QFileInfo 这个类提供了许多函数给我们查找文件的信息 例如文件名 文件大小等等 对我们进行某些处理相当有用 例如你要对某个目录操作 需要判断它是否为目录 当你需要传输文件内容
  • 07黑马QT笔记之信号重载时connect的写法(带参数的信号)

    07黑马QT笔记之信号重载时connect的写法 带参数的信号 1 首先说这个例子要做的事情 一个窗口有两个按钮 分别为按钮1 按钮2 当我按下按钮2时 他会发射两个信号 这两个信号重载 名字一样 所以当我接收这两个信号并处理时 conne
  • 43黑马QT笔记之Qt下Tcp/Udp通信过程

    43黑马QT笔记之Qt下Tcp Udp通信过程 前提 Qt下的网络通信需要加上 QT newwork 模块 1 Qt下Tcp的通信过程 1 共有三个套接字 客户端有一个QTcpServer监听套接字 服务端有两个 分别是QTcpServer
  • 32黑马QT笔记之QPixmap和QImage的相互转换

    32黑马QT笔记之QPixmap和QImage的相互转换 1 QPixmap与QImage的互相转换 1 头文件 void paintEvent QPaintEvent 2 实现 cpp文件 void Widget paintEvent Q
  • 22黑马QT笔记之事件全总结

    22黑马QT笔记之事件全总结 1 每个控件重写过滤器 event函数 各个事件处理函数都一样 都是先类中声明 类外定义 2 每个控件都可以重写事件过滤器 但是他一般写在窗口 安装时参数要求继承QObject嘛 event函数和各个事件处理函
  • 55黑马QT笔记之关闭子线程

    55黑马QT笔记之关闭子线程 1 这里为什么要单独写多一篇文章来说线程的关闭呢 主要是想让大家提升印象 养成资源回收的好习惯 任何时候都要想起开辟过的内存回收 这里的关闭子线程上一篇也写到了 就是利用关闭窗口时调用槽函数回收掉 2 具体步骤

随机推荐

  • 图解RocketMQ(一)

    目录 1 消息模型 Message Model 2 消息生产者 Producer 3 消息消费者 Consumer 4 主题 Topic 5 代理服务器 Broker Server 6 名字服务 Name Server 7 拉取式消费 Pu
  • Gitlab CI/CD

    Gitlab CI CD 1 概述 Gitlab是常用的开源git代码管理工具之一 随着发展也推出了ci cd解决方案 顾名思义具体来说ci cd主要完成以下两个工作 ci 持续构建 代码提交后触发自动化的单元测试 代码预编译 构建镜像 上
  • ubuntu 16.04+ros kinetic + gazebo+ aws-robotics 室内环境导航仿真

    背景 aws robotic ros gazebo 仿真在ros2以及ros melodic 中的使用网上讲解较多 本文主要介绍ros kinetic gazebo9 下turtlebot3 机器人在 aws robomaker small
  • C/C++课程设计学生通讯录信息管理系统,成绩管理系统,抽象封装继承多态,增删改查

    目录 一 系统设计内容及要求 需求分析 二 系统总体设计 首先构造基本框架 基本思路 三 详细设计 基本步骤 一 系统设计内容及要求 需求分析 制作一个系统实现对学生通讯信息的管理功能 可以对学生通讯信息进行录入 显示 添加 删除 修改等功
  • LU分解+求逆矩阵

    LU分解 求逆矩阵 编写了LU分解的MATLAB代码 求逆矩阵 实现了附加单位阵法和解方程法两种求逆矩阵的方法 时间 20210925 文件说明 输入矩阵A应为方阵 文件末尾进行了验证 将本文件所写算法与MATLAB的lu函数及求逆矩阵函数
  • Python之第八章 读写文件

    一 文件与文件路径 V 这是一个V 这是反斜杠 这是斜杠 Windows根目录 C linux和OS X 路径 1 windows上的反斜杠以及OS X 和 Linux上的正斜杠 os path join 方法 返回文件路径 但是我们可以用
  • Explanation on K&R 8.7 A Storage Allocator

    Anyone has a basic knowledge of C can use malloc but under the cover what really happens Well K R give us a simple versi
  • 实际开发中,TCP / IP 七层网络模型是如何工作的?

    目录 前言 一 五层网络模型分别是什么 通俗理解 1 1应用层 1 2传输层 1 3网络层 1 4数据链路层 1 5物理层 二 如何工作 首先是封装过程 2 1 应用层形成协议报文 2 2 传输层添加TCP报头 2 3 网络层添加IP报头
  • R绘图的图形布局,画布布置函数

    对后续的绘图参数进行修改和定义 par no readonly TRUE 1 在一张画布上进行多张图谱的绘制 par mfrow c 2 2 2 layout layout matrix c 1 1 2 3 2 2 byrow T 其中1
  • 线性代数学习笔记(十五)——初等变换(一)

    本篇笔记首先讨论了矩阵的初等变换 包括初等行变换和初等列变换两类 每一类初等变换又有三种变换规则 需要注意该初等变换与行列式对应的性质没有任何关系 然后讨论了初等变换和标准形的关系 任意矩阵都可以通过 行和列 初等变换化为标准形 最后还讨论
  • RedHat 6.9/7.4 IB网驱动安装教程

    RedHat 6 9 7 4 IB网驱动安装教程 为什么要写这次安装小结 之前安装redhat6 9已成功配置 这次需要安装7 4的驱动 二话不说跑去官网下载相应的驱动 进行安装 虽然驱动能够安装成功但是opensmd和openibd服务一
  • RobotFramework 之 文件上传和下载

    RobotFramework 之 文件上传和下载 文件上传 文件下载 在项目过程中 经常会遇到文件的上传和下载类型的操作 网上也可以找到各种方式 这里介绍的是RobotFramework框架在UI自动化过程中的文件上传和下载 文件上传 Ro
  • html中写随机数,JavaScript中的随机数,HTML随机数实现方法

    有时在网页设计过程中 需要用到随机数 对于PHP ASP Net等编程方法 要实现调用随机数 那相对很简单 但是 如果是静态HTML页面实现随机数调用 那么就只能使用JS的方法 即用JavaScript的编程设计了 在JavaScript中
  • 如何删除GitHub仓库里的文件夹(区分 rm/git rm)

    删除GitHub仓库里的一个文件夹 1 复制仓库地址 2 在本地新建一个空文件夹 3 在空文件夹内 右键选择Git Bash Here 4 弹出GIT Bash框 5 克隆远程仓库 6 拉取远程仓库 7 查看仓库里的文件 8 选择想要删除的
  • Destination Host Unreachable

    背景 物理机的IP地址是192 168 31 189 虚拟机的IP地址是192 168 194 130 物理机ping得通虚拟机 虚拟机ping得通外网 可是虚拟机ping不通物理机 1 报错信息 Destination Host Unre
  • 多线程相关知识总结

    1 并发编程三要素 1 原子性 原子性指的是一个或者多个操作 要么全部执行 要么全不执行 2 可见性 可见性指多个线程操作一个共享变量时 其中一个线程对变量进行修改时 其他线程变量可以立即看到修改的结果 3 有序性 即程序的执行顺序按照代码
  • 宏定义的正确写法,三目运算的宏定义

    转自 宏定义的正确写法 三目运算的宏定义 https my oschina net iOScoderZhao blog 916074 第一阶段 对象宏 define M PI 3 141592653589793238462643383279
  • 对症下药,方能药到病除——如何修复drv?

    前面两周介绍了如何修复setup和hold violation 这次我们接着来讲下另外一个十分重要的violation drv的修复 首先 我们来了解下drv的基本概念 drv全称design rule violation 设计规则违反 主
  • Tensorflow模型持久化 (ckpt & pb)

    文章目录 1 基本处理代码 2 模型保存为ckpt文件 3 基于ckpt文件的测试 4 模型保存为pb文件 4 1 直接保存为pb文件 4 1 1 tf graph util convert variables to constants 4
  • 24黑马QT笔记之画背景图

    24黑马QT笔记之画背景图 1 区别不是窗口的显示图片 在窗口中绘图必须重写绘图事件 在绘图事件中绘图 即用到QPainter画家和xxx begin this 函数指定绘图设备 与之前学的区别 下面的代码是在标签中显示图片 只是简单的显示