QVGE是一个开源的多平台QtC++编写的图形编辑器,可以用来画网络节点图,或者其他作用。
QVGE可以轻松创建和参数设定的小型到中型图形(1000+节点/边缘),共同的视觉特性的节点和边缘:形状、尺寸、颜色、标签等。定义(用户定义)属性的图表和他们的元素,节点可以有端口
输出的图形成PDF,SVG和各种图像的格式(BMP,PNG,JPG,TIFF等)。
图片文件格式的支持:
XGR(地图的持久性格式)
GEXF(read/write的共同子集,除了集群和动态特性)
GraphML(read/write)
注意,QVGE 并不能取代 Gephi、 Inkscape、 yEd、 Dia 等软件。它既不是“大数据分析”的工具,也不是数学应用。它实际上只是一个带有一些高级特性的简单图形编辑器(即 GraphViz 集成)。
使用Qt6去编译源码一遍,界面如上所示。实际上还可以使用VSStudio2022去编译。
主要问题就在于各种在Qt5下可以用的类或者函数,在Qt6下都无法使用,只能做替代处理。
源码地址:(已在Qt6下编译通过运行通过,不过会有些bug导致崩掉,有需要的可以自行再修改修改)
链接:https://pan.baidu.com/s/1w0cU8omLHMaGGnJUyq6zIA?pwd=8888
提取码:8888
在这份源码中经常会看到QSet的unite,intersect的使用,将两个集合合并的操作。这在QList中是没有的。
QSet<QByteArray> result = m_classAttributesVis[classId];
if (inherited)
{
QByteArray superId = getSuperClassId(classId);
while (!superId.isEmpty())
{
result = result.unite(m_classAttributesVis[superId]);
superId = getSuperClassId(superId);
}
}