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)
{
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_);
}

View File

@@ -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);

View File

@@ -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());
}