1

QGraphicsView でドラッグ アンド ドロップを処理するにはどうすればよいですか? たとえば、あるフォルダから画像ファイルをドラッグして、QGraphicsView にドロップしますか? Windows、QT5.2、C++。

4

2 に答える 2

2

QGraphicsScene のサブクラスを作成し (まだ行っていない場合)、dragEnterEvent(QGraphicsSceneDragDropEvent *) メソッドをオーバーライドして、引数が処理できる画像ファイルを表している場合、その引数で acceptProposedAction() を呼び出す必要があります。 -- つまり、dragDropEvent->mimeData()->hasUrls() が true を返し、dragDropEvent->mimeData()->urls() によって返された QUrl の少なくとも 1 つを使用して有効な QPixmap を構築できる場合 (QPixmap( 経由) url[i]->toLocalFile))。

次に、dropEvent(QGraphicsSceneDragDropEvent *) メソッドをオーバーライドして新しい QGraphicsPixmapItem オブジェクトを作成し (QGraphicsSceneDragDropEvent オブジェクトの mimeData オブジェクトで指定されたファイル名で作成された QPixmap を使用)、QGraphicsPixmapItem を QGraphicsScene に追加する必要があります。

于 2013-07-08T15:39:54.890 に答える