fix: network zoom

This commit is contained in:
parker
2025-06-20 01:59:39 +01:00
parent be9f3e27ea
commit 9a7458f2c0
4 changed files with 20 additions and 22 deletions

View File

@@ -4,25 +4,9 @@
#include <iostream> #include <iostream>
#include <qgraphicsview.h> #include <qgraphicsview.h>
NetworkGraphicsScene::NetworkGraphicsScene(QGraphicsView *parent) NetworkGraphicsScene::NetworkGraphicsScene()
: QGraphicsScene() : QGraphicsScene()
{ {
parent_ = parent;
} }
void NetworkGraphicsScene::wheelEvent(QGraphicsSceneWheelEvent *wheelEvent)
{
std::cout << "delta: " << wheelEvent->delta() << "\n";
int delta = wheelEvent->delta();
if(delta > 0)
{
parent_->scale(1.1, 1.1);
}
else if(delta < 0)
{
parent_->scale(0.9, 0.9);
}
wheelEvent->accept();
}

View File

@@ -6,10 +6,7 @@ class NetworkGraphicsScene
: public QGraphicsScene : public QGraphicsScene
{ {
public: public:
NetworkGraphicsScene(QGraphicsView *parent = nullptr); NetworkGraphicsScene();
private: private:
QGraphicsView* parent_;
protected: protected:
void wheelEvent(QGraphicsSceneWheelEvent *wheelEvent) override;
}; };

View File

@@ -68,3 +68,19 @@ void NetworkGraphicsView::mouseMoveEvent(QMouseEvent *mouseEvent)
} }
void NetworkGraphicsView::wheelEvent(QWheelEvent *event)
{
std::cout << "delta: " << event->angleDelta().x() << "\n";
std::cout << "delta: " << event->angleDelta().y() << "\n";
int delta = event->angleDelta().y();
if(delta > 0)
{
scale(1.1, 1.1);
}
else if(delta < 0)
{
scale(0.9, 0.9);
}
event->accept();
}

View File

@@ -14,6 +14,7 @@ private:
protected: protected:
void mouseMoveEvent(QMouseEvent *mouseEvent) override; void mouseMoveEvent(QMouseEvent *mouseEvent) override;
void mousePressEvent(QMouseEvent *event) override; void mousePressEvent(QMouseEvent *event) override;
void wheelEvent(QWheelEvent *event) override;
// void mouseReleaseEvent(QMouseEvent *event) override; // void mouseReleaseEvent(QMouseEvent *event) override;
}; };