qt实现的绘制网络拓补图,先连接sqlserver数据库获取所有节点数据,然后通过递归函数解析出每个节点之间的关系,并计算每个节点要在图上绘制的位置,然后通过重写的
QGraphicsPixmapItem类来绘制节点图,通过重写的
QGraphicsItem类来绘制节点之间的连线。
只要各节点之间的关系数据正确,可以无限绘制。
为了能让小白直接运行,我把代码中连接数据库的部分先禁用了,并手动初始化了节点关系的数据队列。如果你会用qt连接数据库,那么可以把connectSqlServer();函数放开,从而让程序从sqlserver数据库中获取数据(当然,你需要改一下数据库名,端口号,并在数据库中建好表,表的名字和列明要和代码中的一致!然后禁用 manulInitNoteList();这行代码)