Qt图形绘制
Qt Graph Drawing
我最近开始开发一个需要可视化图形的项目,我正在寻找一个不错的算法来解决这个问题。
我画的图是模型数据流,所以一个合理的图可以从左到右或从上到下。当然,它们是有向的,大多是非循环的——也就是说,可能有一些后边缘,但这些后边缘的比例很小,如果有DAG作为输入可以大大提高运行时间,我很乐意在计算顶点位置之前删除这些后边缘。
我在这个项目中使用C++和Qt,并且已经非常熟悉Qt提供的Elastic Nodes和Diagram Scene示例。如果有人看过KCacheGrind,我想做的就是类似于它的调用图可视化。
我目前的尝试包括一种原始算法,该算法根据每个节点与根的最小距离将其分配给一个层,然后尝试以最小化边缘交叉的方式将节点定位在每个层内。我无法正确地实现最后一部分,我认为这个问题是NP难题。
我正在寻找的是关于过去使用何种算法来有效解决这个问题的指导。
我建议使用QGraphicsScene来实现有向无环图。此外,请查看这些链接以帮助您实现:
- https://github.com/qknight/automate
- http://invalidmagic.wordpress.com/2009/12/10/qgraphicsscene-used-as-a-qabstractitemmodel/
- http://socnetv.sourceforge.net/
相关文章:
- 如何在窗口外绘制图形(OpenGL GLFW)
- 如何在x轴左右绘制图形
- 使用 c++ 中函数的执行时间绘制图形
- 如何使用C++程序中的gnuplot绘制图形
- 在 qt 中绘制图形和自定义绘图库绘制曲线
- 如何在不使用任何框架或库的情况下在屏幕上绘制图形
- 需要有关使用可视化C++创建图形绘制图形的建议
- 用 C++ 或 C 绘制图形数据
- 在 MFC 应用中绘制图形C++
- 在C++窗口中绘制图形
- 是否可以在Visual C++2010学习版中绘制图形
- 用给定的双坐标绘制图形
- 用SDL绘制图形
- 算法绘制图形
- 通用Windows可以动态地绘制图形和保存图像
- 为什么使用GetDC(0)绘制图形;只要有一扇窗户从它们上方移动,它们就会消失
- 用c++绘制图形
- QcustomPlot 不想绘制图形
- qwtcurve 不绘制图形
- 这是用QML绘制图形项的最佳方式