QT4モジュラーシンセ編集ウィジェット
-
18-09-2019 - |
質問
パッチ(サウンド)編集に使用されるモジュラー合成アプリ(ALSAモジュラーシンセ、純粋なデータ、Ingenなど)のGUIの作成を開始しようとしています。
私がしなければならないのは、次のことです:
(ソース: drobilla.net)
(ソース: McGill.CA)
したがって、基本的には、ワイヤーに接続できる入力ポートと出力ポートを備えたシンセモジュールを表す長方形(ボックス)を描画できる領域です。
問題は、2つが編集領域のウィジェットを作成する方法を理解できないことです。ボックスを手動で描画する単純な2D描画コンテキストを使用することは、これを行う唯一の論理的な方法であると思われますが、これを行うと、私はすべてを失いますQTが私に与えてくれる素晴らしいイベント管理。
作成された「ボックス」の座標を単に撮影して画面に置くカスタムレイアウトを作成する可能性があるのではないかと思っています。私が通常するように、それらは窓に行きます。
それとも、より良い方法がありますか?
ありがとうございました
解決
qgraphicssceneとqgraphicsviewをご覧ください。これにより、アイテムで満たされたシーンを作成できるようになります。各アイテムはマウスイベントを受信でき、手動でペイントできます。
他のヒント
Qlayoutから継承するカスタムレイアウトクラスを作成し、ADD(QWidget* W)関数を座標で過負荷できます。
個人的には、qgraphicsviewとqgraphicssceneを使用しています。 (マウスイベントとして)いくつかのイベントを処理し、QGraphicsItemを簡単に見つけることができます。
Gephex sourcecodeをご覧ください http://www.gephex.org/download.php
彼らはすでにQT用のこのようなウィジェットを構築していますが、少し古いコード(QT3)とアプリケーション固有のものかもしれません。
CIAO