QT——QWidget窗体设置背景颜色、背景图、及其注意点

2023-05-16

QWidget窗体设置背景颜色、背景图、及其注意点

  • 前言
  • 一、使用调色板QPalette来设置图片
  • 二、使用样式表QSS
  • 三、使用画笔Qpainter在paintEvent事件中绘制图片


前言

QT设置背景图笔录


一、使用调色板QPalette来设置图片

注意点:
该方法对设有样式表的QWidget对象不会生效

首先获得Widget的调色板,再设置调色板背景(setBrush),最后将调色板设置到Widget中

//获得widget的palette
QPalette palette = this->palette();
palette.setBrush(QPalette::Window,
        QBrush(QPixmap(":qss_icons/rc/networkBack11.png").scaled(  // 缩放背景图.
            this->size(),Qt::IgnoreAspectRatio,        //不限制原图片的长宽比
            Qt::SmoothTransformation)));               // 使用平滑的缩放方式
this->setPalette(palette);      

效果图:
在这里插入图片描述

二、使用样式表QSS

注意点:
该方法对设有样式表的QWidget对象不会生效
1、设置颜色

this->setStyleSheet("background-color:rgb(211,111,211)");

效果图:
在这里插入图片描述
2、设置图片

this->setStyleSheet("border-image:url(C:/Users/ZML/Desktop/Files/24.png)");

效果图:
在这里插入图片描述
这种方法,图片不是自适应的

三、使用画笔Qpainter在paintEvent事件中绘制图片

注意点:
该方法会干掉一切的API与样式表

该部分要记得放在对应class头文件内

protected:
    void paintEvent(QPaintEvent *);

1、画颜色

 void background::paintEvent(QPaintEvent *)
 {
     QPainter p(this);
     p.setPen(Qt::NoPen);
     /* 设置红色 */
     p.setBrush(Qt::red);
     p.drawRect(rect());
 }

效果图:
在这里插入图片描述
2、画图片

 void background::paintEvent(QPaintEvent *)
 {
     QPainter painter(this);
     painter.drawPixmap(rect(),QPixmap(":C:/Users/ZML/Desktop/Files/24.png"),QRect());
 }

效果图:
在这里插入图片描述

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

QT——QWidget窗体设置背景颜色、背景图、及其注意点 的相关文章

随机推荐

  • 实时获取当前时间并展示在页面上

    简介 实时获取当前时间并展示在页面上 xff0c 是很多地方常用的 xff1b 在页面中做此展示以便查看时间 本文使用js通过一个小的demo实现效果 完整Code span class token operator lt span spa
  • Visual Studio Code提交代码提示“Make sure you configure your ‘user.name‘ and ‘user.email‘ in git.”

    使用VSCode编译器提交代码到gitlab xff0c 编译器提示 Make sure you configure your 39 user name 39 使用编译器VSCode提交代码到GitLab xff0c 提示 Make sur
  • React编译代码报错提示:React was passed “javascript:;“。

    React编译代码提示报错信息 xff1a React编译代码提示报错信息 xff1a Warning A future version of React will block javascript URLs as a security p
  • 如何添加Iconfont图标到项目及创建新项目?

    1 搜索图标 或者 选择自己上传图标 2 选择图标 xff0c 加入库 3 点击购物车图标 xff0c 如果已经创建项目直接选择点击确定 xff1b 如果没有创建项目点击 43 创建项目 4 输入新项目名称 xff0c 点击确定 5 确定后
  • antd icon 图标组件的使用

    antd提供的icon有限 xff0c 可以直接使用iconfont图标库的图标 1 安装图标组件包 npm install save 64 ant design icons 2 创建图标 import createFromIconfont
  • 字符串解析为指定格式

    将 张三 李四 王五 赵六 解析为 张三 李四 xff08 共4人 xff09 使用 xff1a let str 61 39 张三 李四 王五 赵六 39 empsDeal str 39 张三 李四 共4人 39 方法 xff1a cons
  • 清除redux数据(hooks写法)

    清除redux数据的场景 A页面初始化调用A接口 xff0c 希望在当前页面生效 xff0c 跳转页面不保存数据 xff0c 但redux中已经存有历史数据 xff0c 所以在页面销毁时清除redux数据 A页面请求A接口 useEffec
  • 跳转页面方法

    跳转页面 window location href 61 url 替换当前页面 window location replace url
  • 嵌入式面试总结

    毕业一年多了 xff0c 从事嵌入式开发工作不知不觉也一年多了 xff0c 题主主要从事单片机 xff08 STM32 xff09 应用开发工业类电子方向 xff0c 纯技术涉及到的内容主要是C语言 arm STM32驱动 FreeRTOS
  • 数据库ER图基础概念整理

    ER图分为实体 属性 关系三个核心部分 实体是长方形体现 xff0c 而属性则是椭圆形 xff0c 关系为菱形 ER图的实体 xff08 entity xff09 即数据模型中的数据对象 xff0c 例如人 学生 音乐都可以作为一个数据对象
  • 如何成为一个全能的机器人工程师

    大疆技术总监 xff1a 如何用六年成为一个全能的机器人工程师 机器人学的核心问题是做好和物理世界的交互 现在主流的机器人学分支里 xff0c 处理与物理世界的交互的学科分为三类 xff1a 传感器和处理算法 xff1b 多刚体系统动力学控
  • 任务调度算法

    可实现在单片机裸机下还能有很好的实时性 任务调度器 SCHEDULER TASK scheduler tasks 61 amp P loop 1000Hz 1000 0 0 amp P loop 500Hz 500 0 0 amp P lo
  • 阿里云云计算ACP学习(一)---弹性计算

    弹性计算 1 ECS的概念与定位 概念 xff1a 云服务器ECS xff08 Elastic Compute Service xff09 是一种可弹性伸缩的计算服务 xff0c 可以帮助降低IT成本 xff0c 提升运维效率 xff0c
  • 阿里云云计算ACP学习(二)---弹性存储

    弹性存储 1 阿里云盘古 盘古 飞天底层同一存储平台 盘古的优势 xff1a 盘古系统在一个核心基础层之上 xff0c 通过为不同应用场景而抽象的适配层设计 xff0c 提供了分布式块存储系统和分布式文件系统两种形态 xff0c 基于这一套
  • HDFS读写流程介绍,HDFS读数据和写数据的原理是什么?

    Client 客户端 对HDFS中的数据进行读写操作 xff0c 分别是Client从HDFS中查找数据 xff0c 即为Read 读 数据 Client从HDFS中存储数据 xff0c 即为Write 写 数据 下面我们对HDFS的读写流
  • VIM简单配置step by step

    0 更新vim 更新和安装vim xff0c 保证版本 gt 61 8 0即可 可按照如下命令安装 0 1 安装依赖 yum update y yum install epel release y yum install y git gcc
  • 使用setInterval遇到的陷阱

    setInterval的使用 span class token keyword const span interval span class token operator 61 span span class token function
  • vs本地调试dll文件

    遇到一些问题 xff0c 需要调试dll文件进行调试 xff0c 环境配置如下 打开dll工程 1 鼠标右键dll项目 xff0c 属性 gt 配置属性 gt 调试 gt 命令 在命令中填写使用dll的 exe文件的路经 2 将新生成的dl
  • 对抗样本简介

    一 什么是对抗样本 对抗样本是一类被恶意设计来攻击机器学习模型的样本 它们与真实样本的区别几乎无法用肉眼分辨 xff0c 但是却会导致模型进行错误的判断 对抗样本的存在会使得深度学习在安全敏感性领域的应用收到威胁 如下图所示 xff0c 通
  • QT——QWidget窗体设置背景颜色、背景图、及其注意点

    QWidget窗体设置背景颜色 背景图 及其注意点 前言一 使用调色板QPalette来设置图片二 使用样式表QSS三 使用画笔Qpainter在paintEvent事件中绘制图片 前言 QT设置背景图笔录 一 使用调色板QPalette来