Qt用SVG图片作为背景图
svg可缩放,作为背景图十分方便。
Based on Qt 5.5.1 (MSVC 2013, 32 bit)
1.使用QSvgWidget
//添加一个widget 提升为QSvgwidget
QString strFile="Dharma_Wheel.svg";
this->ui->svgWidget->load(strFile);
2.QTreeWidget添加svg背景图片
方法1:
QPalette palette;
QString strFile1="111.svg";
palette.setBrush(QPalette::Base,
QBrush(QPixmap(strFile1)/*.scaled(this->ui->treeWidget->size(),
Qt::IgnoreAspectRatio,
Qt::SmoothTransformation)*/));
//palette.setBrush(QPalette::Base,QBrush(QPixmap(strFile1)/*.scaled(this->ui->treeWidget->width(),this->ui->treeWidget->height()*/));
this->ui->treeWidget->setPalette(palette);
此方法当QTreeWidget缩放时会重复出现。
方法2:
子类化QTreeWidget,重写resizeEvent
#include <QResizeEvent>
void QMyTreeWidget::resizeEvent(QResizeEvent *event)
{QTreeWidget::resizeEvent(event);QPalette palette;QString strFile1="111.svg";palette.setBrush(QPalette::Base,QBrush(QPixmap(strFile1).scaled(event->size(),Qt::IgnoreAspectRatio,Qt::SmoothTransformation)));//palette.setBrush(QPalette::Base,QBrush(QPixmap(strFile1)/*.scaled(this->ui->treeWidget->width(),this->ui->treeWidget->height()*/));this->setPalette(palette);
}
3.MainWidget添加背景图
void MainWindow::paintEvent(QPaintEvent *event)
{QSvgRenderer * Converter = new QSvgRenderer( this );QString strFile="logo_man.svg";Converter -> load(strFile);QPainter p( this );Converter -> render( &p );
}
来一张效果图:
Qt用SVG图片作为背景图相关推荐
- windows下PHP获取视频第一帧图片作为背景图
我在网上找了很多这方面的资料,总结如下:一般用ffmpeg获取视频第一帧图片作为背景图; ffmpeg的下载链接 http://ffmpeg.org/download.html ; 下载好包,包里面 ...
- 小程序图片作为背景图无法铺满的问题
今天做小程序的时候,遇到一个问题,用一张图片去作为背景图的时候,图片总是铺不满屏幕,后来查阅一番后原来image标签的mode要设置为 widthFix,高度设置为100%: 设置完成之后,发现了新问 ...
- Qt 读取并且显示SVG图片
SVG图片是一种可缩放的矢量图片,是一个开放的图片标准.是由xml格式定义一种文件. svg图片文件具有以下优势: 基于xml语言 可在图像质量不下降的情况下被放大 比JPEG和PNG格式的文件要小很 ...
- html显示svg图片,HTML5/CSS3系列教程:使用SVG图片
在我们开始使用SVG前,让我们先了解一下 SVG,并且解释一下为什么使用SVG. SVG全称是Scalable Vector Graphics,如果你使用过adobe Illustrator的话,相信 ...
- 【Android 安装包优化】Android 中使用 SVG 图片 ( Android 5.0 以下的矢量图方案 | 矢量图生成为 PNG 图片 )
文章目录 一.Android 5.0 以下的矢量图方案 二.矢量图生成为 PNG 图片 三.完整的 build.gradle 构建脚本 四.编译效果 五.参考资料 一.Android 5.0 以下的矢 ...
- 【Android 安装包优化】Android 中使用 SVG 图片 ( SVG 矢量图简介 | Android 中生成 Vector 矢量图资源 )
文章目录 一.SVG 矢量图简介 二.Android 中生成 Vector 矢量图资源 三.参考资料 一.SVG 矢量图简介 Android SVG 参考文档 : https://developer. ...
- Android——SVG图片转成安卓能用的vector矢量图
背景 矢量图能不受显示范围大小的限制且不失真,不需要放多套PNG图片来做适配,能随意自己更改矢量图的大小而不再需要去求同事给新切图. 而我目前所在的公司出图放在蓝湖上,能选择下载PNG或SVG格式的图 ...
- QT任务009——基于QPainter 类,添加图片+动图(基于QMovie),并随鼠标移动——samp_8_2_test
一 任务描述 1.绘制五角星 2.在画布背景下,添加图片+gif动图 3.鼠标点击会使得图片 / 动图移动 二 [绘制五角星]完成过程 1.创建基于QWidget,窗口,先不在UI界面 放置任何组件 ...
- Canvas画布、SVG图片
Canvas 一.canvas 1.<canvas>标签:画布标签 (height,width,半透明),本身不具备绘图能力,可以通过脚本(通常指js)来实现 width:设置画布宽度,默 ...
最新文章
- 一个简单的Ajax开发框架
- 响应式 媒体查询 盒模型
- 一款开源免费的.NET文档操作组件DocX(.NET组件介绍之一)
- 百练OJ:2764:数根
- 关于Unable to execute dex: Java heap space 解决办法
- 【leetcode】Search for a Range
- 前端学习(2930):内嵌改变样式
- python切片操作的几种格式_【Python杂记】第四篇:序列切片
- 2018-07-25 异想天开
- Windows 2008 防火墙开放端口
- mysql where连接_MySQL连接查询on和where的区别和顺序
- android 扫雷小游戏
- canvas基础学习笔记
- 软件设计师——Week 2
- 介绍一款通过软件设置调节显示器亮度的工具:护眼宝
- 磷脂PEG磷脂,DSPE-PEG-DSPE
- 股票移动平均线matlab,移动平均线(MA)
- 日常之卸载奇安信相关~
- ZOJ1516 Uncle Tom's Inherited Land(二分图最大匹配)
- 【LeetCode 1833】雪糕的最大数量