#include #include #include #include #include #include #include class View : public QGraphicsView { public: View( QWidget * parent ) : QGraphicsView( parent ) { setAcceptDrops( true ); setDragMode( QGraphicsView::ScrollHandDrag ); } protected: void dragEnterEvent( QDragEnterEvent * event ) { event->acceptProposedAction(); } void dropEvent( QDropEvent * event ) { QMessageBox::information( this, tr( "Drop" ), tr( "You just dropped something to me." ) ); event->acceptProposedAction(); } }; class Window : public QMainWindow { public: Window() { View * view = new View( this ); view->setAlignment( Qt::AlignLeft | Qt::AlignTop ); QGraphicsScene * scene = new QGraphicsScene( this ); view->setScene( scene ); setCentralWidget( view ); } }; int main( int argc, char ** argv ) { QApplication app( argc, argv ); Window w; w.show(); return app.exec(); }