2012-01-04 2 views
2

QGraphicsView를 소유하고있는 두 개의 QGraphicsView가있는 QMainWindow가 있습니다. 두보기 모두 (화면에서) 지속적으로 표시됩니다. 하나의 QGraphicsView에서 다른 클래스로 객체를 드래그 앤 드롭 (QGraphicsItem에서 서브 클래 싱 된 클래스의 객체)하고 싶습니다. 이 작업을 수행하는 가장 좋은 방법은 무엇입니까?다른 QGraphicsView간에 드래그 앤 드롭

추신 :에 다음

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; 

과 : 저는 예를 들어, 이동하고자하는 데이터를 포함하는 새로운 드래그 객체를 생성 끌어 전망 마우스 이벤트에서 하나 개를 QGraphicsView

답변

2

내부에 놓을 수 있습니다 QGraphicsScene의 dropEvent()는 해당 데이터에 대한 catch를 구현합니다.