Qt:读写SVG
来源:互联网 发布:服装批发开单软件 编辑:程序博客网 时间:2024/06/11 16:33
//绘制SVG图形:
SvgView::SvgView(const QString &file, QWidget *parent) : QWidget(parent){ doc = new QSvgRenderer(file, this); //QSvgRenderer将SVG图形绘制到绘图设备上 connect(doc, SIGNAL(repaintNeeded()), //文档需要更新时发出,通常用来实现动画效果 this, SLOT(update()));}void SvgView::paintEvent(QPaintEvent *){ QPainter p(this); p.setViewport(0, 0, width(), height()); doc->render(&p);}QSize SvgView::sizeHint() const{ if (doc) return doc->defaultSize(); return QWidget::sizeHint();}void SvgView::wheelEvent(QWheelEvent *e){ const double diff = 0.1; QSize size = doc->defaultSize(); int width = size.width(); int height = size.height(); if (e->delta() > 0) { //此函数已废弃,用pixelDelta() / angleDelta() instead. width = int(this->width()+this->width()*diff); height = int(this->height()+this->height()*diff); } else { width = int(this->width()-this->width()*diff); height = int(this->height()-this->height()*diff); } resize(width, height);}// void MyWidget::wheelEvent(QWheelEvent *event)// {// QPoint numPixels = event->pixelDelta();// QPoint numDegrees = event->angleDelta() / 8;// if (!numPixels.isNull()) {// scrollWithPixels(numPixels);// } else if (!numDegrees.isNull()) {// QPoint numSteps = numDegrees / 15;// scrollWithDegrees(numSteps);// }// event->accept();// }
//生成SVG图形:
#include <QApplication>#include <QtGui>#include <QtSvg>int main(int argc, char *argv[]){ QApplication app(argc, argv);QSvgGenerator svgGen;svgGen.setFileName("test.svg");QRectF rectangle(10.0, 20.0, 80.0, 60.0);QPainter painter;painter.begin(&svgGen);QPen pen(Qt::red);painter.setPen(pen);painter.drawEllipse(rectangle);rectangle.moveRight(100);painter.drawRect(rectangle);rectangle.moveRight(100); QRectF source(0.0, 0.0, 70.0, 40.0); QImage image("Greenstone.bmp");painter.drawImage(rectangle, image, source); painter.end();return 0;}
0 0
- Qt:读写SVG
- Qt:读写SVG
- Qt SVG module
- Qt svg颜色修改
- Qt SVG Viewer
- Qt SVG Viewer Demo 解读
- qt 保存为svg图片
- Qt SVG Generator Example 看看看~
- Qt SVG Viewer Example 看看看~
- qt中svg格式图片的旋转
- Qt SVG Viewer Example 看看看~
- qt 加载SVG格式的图片
- Qt视图场景框架之SVG
- Qt|QT读写配置文件(.ini)
- Qt|Qt读写ini文件
- QT读写Sqlite数据库
- qt DOM xml 读写
- Qt文本文件读写
- CSS实战手册_阅读笔记12_布局_布局类型
- Qt:利用DOM读写XML小测
- 【NOI2006】最大获利(网络流最大流SAP求最小割)
- poj1328Radar Installation(贪心)
- android 三种定位方式
- Qt:读写SVG
- 安装RMySQL
- 多任务 任务的划分
- 随机抽数猜出大小
- ubuntu14.04 安装apache服务器
- linux mkdir 命令
- Python引用文件夹下的py文件的方法-import
- 字符串处理的常见问题
- 使用 kqueue 在 FreeBSD 上开发高性能应用服务器