feat: floating edge gradient

This commit is contained in:
parker
2025-06-21 01:49:54 +01:00
parent 90dc2cccae
commit f92f13a69d
3 changed files with 21 additions and 10 deletions

View File

@@ -20,7 +20,16 @@ QRectF FloatingEdgeGraphic::boundingRect() const
void FloatingEdgeGraphic::paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget) 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_); painter->drawLine(socket1_->scenePos(),floatPos_);
} }

View File

@@ -22,17 +22,17 @@ Network::Network(QWidget* parent)
scene_ = new NetworkGraphicsScene(); scene_ = new NetworkGraphicsScene();
view_ = new NetworkGraphicsView(this, this, scene_); view_ = new NetworkGraphicsView(this, this, scene_);
QPen greenPen = QPen(Qt::green); // QPen greenPen = QPen(Qt::green);
greenPen.setWidth(6); // greenPen.setWidth(6);
auto* rect1 = scene_->addRect(50, 50, 100, 100, greenPen); // auto* rect1 = scene_->addRect(50, 50, 100, 100, greenPen);
rect1->setFlag(QGraphicsItem::ItemIsMovable); // rect1->setFlag(QGraphicsItem::ItemIsMovable);
auto* rect2 = scene_->addRect(80, 120, 100, 100, greenPen); // auto* rect2 = scene_->addRect(80, 120, 100, 100, greenPen);
rect2->setFlag(QGraphicsItem::ItemIsMovable); // rect2->setFlag(QGraphicsItem::ItemIsMovable);
auto* rect3 = scene_->addRect(80, -120, 100, 100, greenPen); // auto* rect3 = scene_->addRect(80, -120, 100, 100, greenPen);
rect3->setFlag(QGraphicsItem::ItemIsMovable); // rect3->setFlag(QGraphicsItem::ItemIsMovable);
NodeGraphic* node1 = new NodeGraphic(); NodeGraphic* node1 = new NodeGraphic();
node1->setPos(-50, -50); node1->setPos(-50, -50);

View File

@@ -18,7 +18,9 @@ QRectF NodeEdgeGraphic::boundingRect() const
void NodeEdgeGraphic::paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget) 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()); painter->drawLine(socket1_->scenePos(),socket2_->scenePos());
} }