Difference between revisions of "Qt/Utilities/DragAndDropFiles"
From ProgrammingExamples
< Qt
Daviddoria (Talk | contribs) (Created page with '==DragAndDropFiles.cpp== <source lang="cpp"> #include <QApplication> #include "form.h" int main(int argc, char *argv[]) { QApplication app(argc, argv); MyForm form; …') |
(No difference)
|
Latest revision as of 11:31, 11 November 2011
DragAndDropFiles.cpp
#include <QApplication> #include "form.h" int main(int argc, char *argv[]) { QApplication app(argc, argv); MyForm form; form.show(); return app.exec(); }
form.h
#ifndef FORM_H #define FORM_H #include "ui_form.h" class MyForm : public QWidget, private Ui::Form { Q_OBJECT public: MyForm(QWidget *parent = 0); protected: void dropEvent ( QDropEvent * event ); void dragEnterEvent ( QDragEnterEvent * event ) ; public slots: }; #endif
form.cpp
// Smarter handling explained here: // http://www.informit.com/articles/article.aspx?p=1405546 #include "form.h" #include <iostream> #include <QDropEvent> MyForm::MyForm(QWidget *parent) : QWidget(parent) { setupUi(this); this->setAcceptDrops(true); } void MyForm::dropEvent ( QDropEvent * event ) { std::cout << "dropEvent." << std::endl; //QString filename = event->mimeData()->data("FileName"); QString filename = event->mimeData()->text(); std::cout << "Loaded " << filename.toStdString() << std::endl; } void MyForm::dragEnterEvent ( QDragEnterEvent * event ) { std::cout << "dragEnterEvent." << std::endl; event->accept(); }
form.ui
CMakeLists.txt
cmake_minimum_required(VERSION 2.6) PROJECT(DragAndDropFiles) FIND_PACKAGE(Qt4 REQUIRED) INCLUDE(${QT_USE_FILE}) QT4_WRAP_UI(UISrcs form.ui) QT4_WRAP_CPP(MOCSrcs form.h) include_directories(${include_directories} ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR}) ADD_EXECUTABLE(DragAndDropFiles main.cpp form.cpp ${MOCSrcs} ${UISrcs}) TARGET_LINK_LIBRARIES(DragAndDropFiles ${QT_LIBRARIES})