0

我是 Qt 和 C++ 的新手……现在,我正在 Qt 中编写一个应用程序,我必须在我的应用程序中显示一个已经生成的 .dot 文件。我尝试了渲染功能,但对我不起作用.. 有谁能在这方面帮助我..

谢谢

4

3 回答 3

2

使用 Python 时遇到了同样的问题。我想出了这个解决方案:

svg_string = dot_graph.create_svg(prog='dot')
svgWidget = QtSvg.QSvgWidget()
svgWidget.load(QtCore.QByteArray(svg_string))

猜猜你可以在 C++ 中做类似的事情

于 2013-11-14T17:35:43.150 回答
1

直接绘制点文件需要能够在正确的位置显示节点,并正确链接它们。这是由非常复杂的引擎完成的,并且不包含在点文件中,这只是对图形的描述。也许有 C++/Qt 库将点文件作为输入,但我不知道它们。

根据这个主题(Graphviz: How to go from .dot to a graph?),您可以轻松地将点文件转换为 png 或 svg 文件。如果你想在你的应用程序中显示渲染的图形,最简单的方法是生成该 png 图片(从 shell 或从你的代码)并从你的程序中对其进行操作。

于 2013-07-16T20:12:27.457 回答
0

看看QGraph。您将需要更多的工作来使您的图表具有交互性。无论如何,如果您是 Qt 新手,即使是简单的显示也是对图形的深入介绍。

我有自己的实现,但很抱歉它还没有准备好发布 - 我将在 SWI-Prolog 上下文中做......

于 2013-07-16T23:37:52.830 回答