⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 svgview.cpp

📁 本文件是<精通QT4编程>的配套源代码
💻 CPP
字号:
#include <QSvgRenderer>#include <QApplication>#include <QPainter>#include <QImage>#include <QWheelEvent>#include <QtDebug>#include "svgview.h"SvgView::SvgView(const QString &file, QWidget *parent)    : QWidget(parent){    doc = new QSvgRenderer(file, this);    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) {        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);}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -