OK、これは簡単なはずです。
QGraphicsView ウィジェットへのドロップ イベントを処理しようとしました。QTreeView ウィジェットからドラッグされた着信データ。そのために、これらのメソッドを再実装しました。
void QGraphicsScene::dragEnterEvent(QGraphicsSceneDragDropEvent *event)
{
event.accept();
}
void QGraphicsScene::dragMoveEvent(QGraphicsSceneDragDropEvent *event)
{
event.accept();
}
void QGraphicsScene::dropEvent(QGraphicsSceneDragDropEvent *event)
{
event.accept();
}
void QGraphicsView::dropEvent(QDropEvent *event)
{
QPixmap pixmap(event->mimedata()->urls()[0].toString().remove(0,8));
this.scene()->addPixmap(pixmap);
}
これは正常に機能します。しかし、このウィジェットのドロップ イベント内で別のグラフィックス ビュー シーンを変更するにはどうすればよいですか? あれは:
void QGraphicsView::dropEvent(QDropEvent *event)
{
QPixmap pixmap(event->mimedata()->urls()[0].toString().remove(0,8));
// I cannot access ui; and cannot access my widgets...:
ui->anotherview->scene()->addPixmap(pixmap);
}