当前位置: 首页 > 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

相关文章:

  • 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 第三方应用左右两侧未全屏有黑边问题解决
  • wordpress 网址 建站/广州seo公司排行
  • 装饰公司网站建设/厦门seo代理商
  • 24小时二手表网站/推广赚钱的平台
  • 可以做软件的网站/怎样优化网站排名
  • 做网站常见程序/快速关键词排名首页
  • 网站如何免费做SEO优化/每日重大军事新闻