1

Qtで木を描く必要があります。

私はノードを使用QGraphicsSceneQGraphicsItemて、ノードを使用することを考えていました。しかし、ノードを移動可能にしたいので、ノード間の線をどのように最適化するのでしょうか。

助言がありますか ?

どうも。

4

2 に答える 2

1

アークもアイテム、特にQGraphicsLineアイテムとして実装します。線は、接続されたノードの中心間を通過する可能性があります。ノード アイテム内のインシデント エッジへの参照を保持し、ノードのドラッグ中にライン ノードを次のように更新します。

edge->setLine(QLineF(node_center.x, node_center.y);
于 2012-03-21T21:39:04.150 に答える
1

そのようなものを描画するには QML を使用することをお勧めします (私は QML 言語が嫌いですが、残念ながら、高性能グラフィックスを描画するのは Qt の将来です。彼らはそれに懸命に取り組んでおり、Qt5 もより QML 中心になると思います)。線を描くには、回転した細い長方形を使用できます。長方形を参照してください。

于 2012-03-21T21:40:08.657 に答える