2012-03-08 5 views
0

私はQtが新しく、Qt 4.8を使ってソートのグラフィカルエディタを実装しています。今私はドラッグを使用して私のウィジェットの周りに長方形のドラッグ&ドロップを実装しました。私のmousePressEvent関数では、適切なMIMEデータ(パズルサンプルに似ています)を使ってQDragを生成し、ちょうど 'setHotSpot'呼び出しを追加しました。dropEvent関数でQDragホットスポット値を取得するにはどうすればよいですか?

ドラッグはちゃんと機能しますが、私のdropEvent関数では、元のQDragオブジェクトのホットスポット設定に戻る方法を見つけることができません - 私はそれにアクセスできないようです。

ホットスポットポイントを自分のMIMEデータに埋め込んで解決しましたが(とにかくカスタムデータです)、それは私にとっては間違っているようです。私のdropEvent関数でそのホットスポットデータを取得するためのQtフレームワーク。

+0

いくつかのコードを追加してください.... – shofee

答えて

1

Qtで次の例を確認してください。

http://doc.qt.io/qt-4.8/qt-draganddrop-fridgemagnets-example.html

この例では、Qtの低下事象をドラッグを使用する方法を示しています。

この例では、ホットスポットのポイントをMIMEデータに追加すると、実際にドラッグが開始された場所からホットスポットポイントを取得する推奨される方法であることがわかります。

1

私はあなたが達成しようとしているかを理解していない...

「ホットスポット」のポイントは、ドラッグされているデータを表すピックスマップに対する単なるオフセット点であり、したがって、全体ドラッグ中に一定であります。

最初のドラッグポイントを探している場合は、実際にそれをMIMEデータにエンコードする必要があります。

+0

それは最初のドラッグポイント(ドロップを行う際に考慮する必要がある)という質問でした。最初のドラッグポイントを(私がやったことである)mimeデータにエンコードすることは、Qtのやり方とは違うので、私は何かを逃したと思った。 –

関連する問題