当前位置: 首页 > news >正文

Qt背景平铺

QT实现窗口平铺的方式有3种

1、drawTiledPixmap

利用该接口可以在给定的矩形内重复绘制图片 

void QPainter::drawTiledPixmap(const QRectF &rectangle, const QPixmap &pixmap, const QPointF &position = QPointF())

参数1:绘制的矩形范围

参数2:绘制的图片

参数3:在矩形中的哪个点开始绘制

重写绘图事件,如下:

#ifndef WIDGET_H
#define WIDGET_H#include <QWidget>
#include <QPainter>class Widget : public QWidget
{Q_OBJECTpublic:Widget(QWidget *parent = nullptr): QWidget(parent){}~Widget()=default;protected://重写绘图事件void paintEvent(QPaintEvent* ev) override{QPainter p(this);p.drawTiledPixmap(this->rect(),QPixmap(":/sugar.png"));}};
#endif // WIDGET_H

2、利用画刷

画刷的类型可以指定为Qt::TexturePattern

画刷的构造函数接受一张图片,可以直接变为图片画刷

#ifndef WIDGET_H
#define WIDGET_H#include <QWidget>
#include <QPainter>class Widget : public QWidget
{Q_OBJECTpublic:Widget(QWidget *parent = nullptr): QWidget(parent){}~Widget()=default;protected://重写绘图事件void paintEvent(QPaintEvent* ev) override{QPainter p(this);QPixmap pix(":/sugar.png");QBrush brush(pix);//指定图片画刷p.setBrush(brush);//图片会重复填充这个矩形p.drawRect(this->rect());}};
#endif // WIDGET_H

3、利用background-image

qss样式表,可以指定背景平铺

只需要指定background-image对应的图片就行了,就会自动平铺满

#ifndef WIDGET_H
#define WIDGET_H#include <QWidget>
#include <QPainter>class Widget : public QWidget
{Q_OBJECTpublic:Widget(QWidget *parent = nullptr): QWidget(parent){this->setAttribute(Qt::WA_StyledBackground);this->setStyleSheet("background-image:url(:/sugar.png);");}~Widget()=default;};
#endif // WIDGET_H


文章转载自:

http://49H6XeiL.srgbr.cn
http://160bOUQS.srgbr.cn
http://fnbUpivK.srgbr.cn
http://pHcicYsj.srgbr.cn
http://WP6mVrIS.srgbr.cn
http://mtX73AbG.srgbr.cn
http://hv6dtzv8.srgbr.cn
http://O6q2GJoV.srgbr.cn
http://JfDOCG6w.srgbr.cn
http://S1nAwoGY.srgbr.cn
http://yomIDUrI.srgbr.cn
http://X2LOoU6f.srgbr.cn
http://hQ59DTv7.srgbr.cn
http://3gfQGnDd.srgbr.cn
http://QNJ38sFE.srgbr.cn
http://b5i4gXk4.srgbr.cn
http://yDmgQUNL.srgbr.cn
http://Vv5Srva2.srgbr.cn
http://dLURbPsH.srgbr.cn
http://SplybcLC.srgbr.cn
http://5ZZWj2LF.srgbr.cn
http://2XNvhrRB.srgbr.cn
http://mLJzS9ta.srgbr.cn
http://F7JQd9uO.srgbr.cn
http://VksGLym2.srgbr.cn
http://iWmZfMgm.srgbr.cn
http://xYSRIoGR.srgbr.cn
http://NOt00S1I.srgbr.cn
http://kPOiV293.srgbr.cn
http://nPrXsWKe.srgbr.cn
http://www.dtcms.com/a/247914.html

相关文章:

  • AQS独占模式——资源获取和释放源码分析
  • 泰国数码电商系统定制|3C产品详情泰语化+售后管理,适配泰国数码零售
  • 串口输出版UART接收中断程序 (8259端口400H/402H)
  • 韦东奕论文解读
  • 开发者视角:一键拉起功能解析
  • 1.14 express小项目 和 用到的 jwt详解
  • Java并发进阶系列:深度讨论高并发跳表数据结构ConcurrentSkipListMap的源代码实现(上)
  • 磁盘配额管理
  • Git分页器和Node.js常见问题解决方式
  • 为何京东与蚂蚁集团竞相申请稳定币牌照?
  • 1.13使用 Node.js 操作 SQLite
  • 英飞凌亮相SEMICON China 2025:以SiC、GaN技术引领低碳化与数字化未来
  • 【Google Chrome】谷歌浏览器历史版本下载
  • 容器的本质是进程
  • React第六十二节 Router中 createStaticRouter 的使用详解
  • 仪表刻度动态显示控件--小三角指针
  • YOLOV11改进之多尺度扩张残差模块(MS-DRM)
  • 【论文写作参考文献地址】
  • 【经验总结】ECU休眠后连续发送NM报文3S后ECU网络才被唤醒问题分析
  • Android 12.0 第三方应用左右两侧未全屏有黑边问题解决
  • java通过hutool工具生成二维码实现扫码跳转功能
  • ELK1日志分析系统
  • 猎板PCB:手机主板pcb需要做哪些可靠性测试
  • 传统数据仓库正在被 Agentic AI 吞噬?Agentic Data Stack 初探
  • CSS基础学习1
  • 【Transformer拆解】-2. 位置编码(Positional Encoding)
  • 「Linux中Shell命令」Shell命令基础
  • 基于python大数据的nba球员可视化分析系统
  • 公司内网远程访问配置教程:本地服务器(和指定端口应用)实现外网连接使用
  • 宝塔面板如何关闭https强制跳转http/https共存?