15

プログラムにフロー図描画キャンバスを埋め込みたいです。ユーザーは次のことができます。

  • 「ノード」(長方形のノードで十分)と「エッジ」(直交することが望ましい)を描画して「ノード」を接続します。
  • マウスを使用してノードをドラッグしてレイアウトし、長方形のサイズを変更します。
  • マウスで 1 つまたは複数のノードを選択して、削除、コピー、貼り付けなどを行います。
  • マウスで 1 つまたは複数のノードを選択して、定義済みのプロパティ (体積、温度、圧力など) を編集します。;
  • 色の変更 (オプション)
  • ファイルへの/からのデータの保存/読み取り。

描画後、プログラムは接続ロジック ( Directed graphのようなデータ構造) とプロパティを取得してさらに計算する必要があるだけです。

これを行うための無料またはオープン ソースの C++ ライブラリはありますか? (クロスプラットフォームでは必要ありません。Windows で利用できれば十分です。)

4

5 に答える 5

3

私は最近これを調べていて、Graphvizと一緒に他のいくつかのオプションに出くわしました:

http://igraph.sourceforge.net/screenshots.html

http://networkx.lanl.gov/gallery.html

http://gephi.org/screenshots/

私はnetworkxを使用することになりました。間もなくGephiで遊んで、どのような種類のデータをロードできるかを確認します。

于 2011-06-03T19:49:27.210 に答える
1

グラフィカルな部分に Qt コードを使用することに専念したい場合、Qanavaは適切な仕事をしてくれます。グラフ自体を (非グラフィカルに) 処理するには、 Boost Graphが非常に便利です。

于 2011-06-03T19:45:26.103 に答える
1

Dynagraph には GUI 描画が含まれているようです

http://www.dynagraph.org/

Dynagraph for Windows は、完全な OLE グラフ描画アプリケーションであり、グラフを他のドキュメントに貼り付けたり、ドキュメントをノードとしてグラフに貼り付けたりすることができます。

于 2011-06-03T19:52:26.260 に答える
0

あなたがそれをしなければならないようです。Qtを使用すると、必要なことを何でも実行できるようになります。グラフを操作するためにすでに実装されている多くの機能を提供するグラフィックスビューフレームワークをご覧ください。

于 2011-06-03T19:46:55.127 に答える
-1

それはあなたが求めているものではないかもしれませんが、コードからグラフィカルな出力を行うための迅速で汚れた方法が必要な場合は、gnuplot にパイプしてコマンドを送信できます。グラフが複雑な場合は、Graphviz のようなものが必要になりますが、小さなグラフである場合は、2 つをリンクすることが最も難しい部分であり、gnuplot を使用するとそれが非常に簡単になります。

于 2011-06-03T19:40:34.373 に答える