Qt 之 QGraphicsView 放大缩小

2,049 阅读1分钟

一、概述

实现通过鼠标滚轮来对 QGraphicsView 视图进行放大和缩小。

二、步骤

新建一个类继承 QGraphicsView,重写 wheelEvent 鼠标滚轮事件。

头文件引入 #include <QWheelEvent>

三、代码

void GraphicsView::wheelEvent(QWheelEvent *event)
{
    // 获取鼠标滚轮的距离
    int wheelDeltaValue = event->delta(); 
    
    // 向上滚动,放大
    if (wheelDeltaValue > 0)
    {
        this->scale(1.2, 1.2);
    }  
    
    // 向下滚动,缩小
    else
    {
        this->scale(1.0 / 1.2, 1.0 / 1.2);
    }
}