用Qt画一棵树

时间:2012-03-21 20:22:36

标签: qt qgraphicsitem qgraphicsscene

我需要用Qt绘制一棵树,

我在考虑使用QGraphicsSceneQGraphicsItem作为节点。但是,由于我希望节点可以移动,那么节点之间的线路最好的方法是什么呢?

有什么建议吗?

THX。

2 个答案:

答案 0 :(得分:1)

我也会将arcs实现为项目,特别是QGraphicsLine项目。该线可以在连接节点的中心之间。 在节点项中保留对事件边缘的引用,并在节点拖动更新行节点期间使用:

edge->setLine(QLineF(node_center.x, node_center.y);

答案 1 :(得分:1)

我建议您使用QML来绘制这些东西(我讨厌QML语言,但不幸的是,它是Qt中用于绘制高性能图形的未来,他们正在努力工作,Qt5也将更加以QML为中心我猜测)。对于绘制线,您可以使用旋转的细长矩形。请参阅Rectangle