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? ) に従って、dot ファイルを簡単に png または svg ファイルに変換できます。レンダリングされたグラフをアプリケーションに表示したい場合、最も簡単な方法は、その png 画像を (シェルまたはコードから) 生成し、プログラムから操作することです。
QGraphを見てください。グラフをインタラクティブにするには、さらに多くの作業が必要になります。とにかく、Qt を初めて使用する場合は、単純な表示であっても、グラフィックスへの急な導入になります。
私は独自の実装を持っていますが、まだ公開する準備ができていないことを残念に思います - SWI-Prolog コンテキストで行います...