2012-01-04 22 views
2

QGraphicsSceneを所有する2つのQGraphicsViewを持つQMainWindowがあります。両方のビューは常に(画面上に)表示されます。 1つのQGraphicsViewから別のQGraphicsViewにオブジェクト(QGraphicsItemからサブクラス化されたクラスのオブジェクト)をドラッグアンドドロップすることができます。これを行う最善の方法は何ですか?異なるQGraphicsView間のドラッグアンドドロップ

PS:で、その後

QDrag* drag = new QDrag(this); 
QByteArray ba; 
QDataStream* data = new QDataStream(&ba, QIODevice::WriteOnly); 
*data << m_slideIndex; 
QMimeData* myMimeData = new QMimeData; 
    myMimeData->setData("application/x-thumbnaildatastream", ba); 
drag->setMimeData(myMimeData); 
drag->setPixmap(thumb); 
drag->setHotSpot(thumb.rect().center()); 
if (drag->exec() == Qt::IgnoreAction) 
{ 
    qDebug() << "DRAG CANCELLED"; 
    m_dragging = false; 
} 
drag->deleteLater(); 
delete data; 

とを:私はたとえば、あなたが移動したいデータを格納する新しいドラッグオブジェクトを作成してドラッグし、ビューのマウスイベントでは、1つのQGraphicsView

答えて

2

の内側にドロップすることができますQGraphicsSceneのdropEvent()はそのデータのcatchを実装します。

関連する問題