From f92f13a69d26acbc595c90b9782226beb17eda2b Mon Sep 17 00:00:00 2001 From: parker Date: Sat, 21 Jun 2025 01:49:54 +0100 Subject: [PATCH] feat: floating edge gradient --- src/gui/network/FloatingEdgeGraphic.cpp | 11 ++++++++++- src/gui/network/Network.cpp | 16 ++++++++-------- src/gui/network/NodeEdgeGraphic.cpp | 4 +++- 3 files changed, 21 insertions(+), 10 deletions(-) diff --git a/src/gui/network/FloatingEdgeGraphic.cpp b/src/gui/network/FloatingEdgeGraphic.cpp index 76c2e84..0019539 100644 --- a/src/gui/network/FloatingEdgeGraphic.cpp +++ b/src/gui/network/FloatingEdgeGraphic.cpp @@ -20,7 +20,16 @@ QRectF FloatingEdgeGraphic::boundingRect() const void FloatingEdgeGraphic::paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget) { - painter->setPen(QPen("white")); + // auto pen = QPen("white"); + + QLinearGradient gradient(socket1_->scenePos(), floatPos_); + gradient.setColorAt(0.0, QColor(255, 255, 255, 255)); + gradient.setColorAt(1.0, QColor(255, 255, 255, 50)); + + QPen pen(QBrush(gradient), 1); + + pen.setCapStyle(Qt::RoundCap); + painter->setPen(pen); painter->drawLine(socket1_->scenePos(),floatPos_); } diff --git a/src/gui/network/Network.cpp b/src/gui/network/Network.cpp index f496cfa..f3ecd3e 100644 --- a/src/gui/network/Network.cpp +++ b/src/gui/network/Network.cpp @@ -22,17 +22,17 @@ Network::Network(QWidget* parent) scene_ = new NetworkGraphicsScene(); view_ = new NetworkGraphicsView(this, this, scene_); - QPen greenPen = QPen(Qt::green); - greenPen.setWidth(6); + // QPen greenPen = QPen(Qt::green); + // greenPen.setWidth(6); - auto* rect1 = scene_->addRect(50, 50, 100, 100, greenPen); - rect1->setFlag(QGraphicsItem::ItemIsMovable); + // auto* rect1 = scene_->addRect(50, 50, 100, 100, greenPen); + // rect1->setFlag(QGraphicsItem::ItemIsMovable); - auto* rect2 = scene_->addRect(80, 120, 100, 100, greenPen); - rect2->setFlag(QGraphicsItem::ItemIsMovable); + // auto* rect2 = scene_->addRect(80, 120, 100, 100, greenPen); + // rect2->setFlag(QGraphicsItem::ItemIsMovable); - auto* rect3 = scene_->addRect(80, -120, 100, 100, greenPen); - rect3->setFlag(QGraphicsItem::ItemIsMovable); + // auto* rect3 = scene_->addRect(80, -120, 100, 100, greenPen); + // rect3->setFlag(QGraphicsItem::ItemIsMovable); NodeGraphic* node1 = new NodeGraphic(); node1->setPos(-50, -50); diff --git a/src/gui/network/NodeEdgeGraphic.cpp b/src/gui/network/NodeEdgeGraphic.cpp index 71dda0f..839b9ae 100644 --- a/src/gui/network/NodeEdgeGraphic.cpp +++ b/src/gui/network/NodeEdgeGraphic.cpp @@ -18,7 +18,9 @@ QRectF NodeEdgeGraphic::boundingRect() const void NodeEdgeGraphic::paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget) { - painter->setPen(QPen("white")); + auto pen = QPen("white"); + pen.setCapStyle(Qt::RoundCap); + painter->setPen(pen); painter->drawLine(socket1_->scenePos(),socket2_->scenePos()); }