From 06e66f72823441da244cc0b83d0da0b2cc38bf8a Mon Sep 17 00:00:00 2001 From: parker Date: Sat, 21 Jun 2025 03:35:20 +0100 Subject: [PATCH] feat: round corners --- src/gui/network/Network.cpp | 10 ++++++++++ src/gui/network/Network.h | 1 + src/gui/network/NetworkGraphicsScene.cpp | 7 +++++++ 3 files changed, 18 insertions(+) diff --git a/src/gui/network/Network.cpp b/src/gui/network/Network.cpp index 362f6a5..067d803 100644 --- a/src/gui/network/Network.cpp +++ b/src/gui/network/Network.cpp @@ -16,6 +16,7 @@ Network::Network(QWidget* parent) mainLayout_ = new QVBoxLayout(parent); mainLayout_->setContentsMargins(0,0,0,0); + this->setLayout(mainLayout_); @@ -55,6 +56,15 @@ Network::Network(QWidget* parent) mainLayout_->addWidget(view_); + +} + +void Network::resizeEvent(QResizeEvent *event) +{ + QPainterPath path; + path.addRoundedRect(this->rect(), 15, 15); + QRegion region = QRegion(path.toFillPolygon().toPolygon()); + this->setMask(region); } void Network::leftMousePress(QMouseEvent *event) diff --git a/src/gui/network/Network.h b/src/gui/network/Network.h index 444b70f..0ac511b 100644 --- a/src/gui/network/Network.h +++ b/src/gui/network/Network.h @@ -25,4 +25,5 @@ private: void destroyFloatingEdge(); protected: + void resizeEvent(QResizeEvent *event) override; }; diff --git a/src/gui/network/NetworkGraphicsScene.cpp b/src/gui/network/NetworkGraphicsScene.cpp index 22c92fd..6abc73a 100644 --- a/src/gui/network/NetworkGraphicsScene.cpp +++ b/src/gui/network/NetworkGraphicsScene.cpp @@ -3,6 +3,7 @@ #include #include #include +#include NetworkGraphicsScene::NetworkGraphicsScene() : QGraphicsScene() @@ -18,9 +19,15 @@ NetworkGraphicsScene::NetworkGraphicsScene() void NetworkGraphicsScene::drawBackground(QPainter *painter, const QRectF &rect) { + + // QPainterPath path; + // path.addRoundedRect(rect, 15, 15); + // painter->setClipPath(path); + QGraphicsScene::drawBackground(painter, rect); + int top = ceil(rect.top()); int bottom = floor(rect.bottom()); int left = floor(rect.left());