2

2D グラフィックスに関するQt の例を少しいじろうとしています。

基本的には、小さなダイアグラム エディターです。この例では、作成者は、ユーザーが接続されたノードを別の位置にドラッグしたときに、このtracknodes()関数を使用して線の端点を更新すると説明しています。

これは実際には起こりません。コードを見た後、リンクのレンダリングを更新するために、ノードQGraphicItemを移動した後に呼び出されるイベントがないためだと感じています。

リンクを再レンダリングするスロットにwasDroppedシグナル(またはそのようなもの)を送信するには、 QGraphicItemの動きがどこでどのように処理されるかを調べる必要があると考えました。これは理にかなっていますか?

私は一般的にQt/C++にかなり慣れていないので、これを達成する方法について明確な考えがありません.誰かが彼/彼女が共有できるポインタを持っていますか?

4

1 に答える 1

2

彼はQGraphicsItem::itemChange仮想関数を使用しtracknodes()て、線を描画する関数を呼び出しているようです。ItemChangeノードが移動するたびに呼び出す必要があります。他の場合にも呼び出されますが、彼は の動きを追跡するためにのみ使用しQGraphicsItemます。

于 2013-05-31T09:36:15.560 に答える