我是 Qt 和 C++ 的新手……现在,我正在 Qt 中编写一个应用程序,我必须在我的应用程序中显示一个已经生成的 .dot 文件。我尝试了渲染功能,但对我不起作用.. 有谁能在这方面帮助我..
谢谢
使用 Python 时遇到了同样的问题。我想出了这个解决方案:
svg_string = dot_graph.create_svg(prog='dot')
svgWidget = QtSvg.QSvgWidget()
svgWidget.load(QtCore.QByteArray(svg_string))
猜猜你可以在 C++ 中做类似的事情
直接绘制点文件需要能够在正确的位置显示节点,并正确链接它们。这是由非常复杂的引擎完成的,并且不包含在点文件中,这只是对图形的描述。也许有 C++/Qt 库将点文件作为输入,但我不知道它们。
根据这个主题(Graphviz: How to go from .dot to a graph?),您可以轻松地将点文件转换为 png 或 svg 文件。如果你想在你的应用程序中显示渲染的图形,最简单的方法是生成该 png 图片(从 shell 或从你的代码)并从你的程序中对其进行操作。
看看QGraph。您将需要更多的工作来使您的图表具有交互性。无论如何,如果您是 Qt 新手,即使是简单的显示也是对图形的深入介绍。
我有自己的实现,但很抱歉它还没有准备好发布 - 我将在 SWI-Prolog 上下文中做......