【发布时间】:2013-08-21 17:21:39
【问题描述】:
好的,这应该很容易。
我尝试将放置事件处理到 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);
}
【问题讨论】:
标签: qt drag-and-drop event-handling