#include #include #include #include #include #include #include #include class MainWindow:public QMainWindow { public: MainWindow():QMainWindow() { QWidget * centralWidget = new QWidget( this ); QVBoxLayout * layout = new QVBoxLayout(centralWidget); QPushButton * mybutton = new QPushButton( centralWidget ); layout->addWidget( mybutton ); connect( mybutton, &QPushButton::clicked, this, &MainWindow::OpenDialog ); centralWidget->setLayout( layout ); setAcceptDrops(true); setCentralWidget( centralWidget ); } void dragEnterEvent(QDragEnterEvent * inEvent ) override { inEvent->accept(); } void dropEvent( QDropEvent * inEvent ) override { qDebug()<<"Item Dropped"; } public slots: void OpenDialog( bool ) { QDialog * mdialog = new QDialog( this ); mdialog->exec(); } }; int main(int argc, char *argv[]) { QApplication a( argc, argv ); MainWindow main; main.show(); return a.exec(); }