[gelöst] - Drag N Drop - einer externen Datei
Verfasst: 6. November 2009 14:27
Hi @ all
Ich wollte ein kleines Programm schreiben welches mir bei der Arbeit hilft und vor allem die „Drag & Drop“ Funktion becherst.
Ich kenne das von Photoshop oder Word wo ich zuerst das Programm öffnen kann und dann vom Explorer oder vom Desktop aus mir eine Datei oder ein Bild in das Programm hineinziehen kann.
Jedoch egal was ich mache jedes mal wenn ich versuche etwas hineinzuziehen bekomme ich so nur eine Blockier-ICON (anstele des Mauszeigers) und es passiert nichts.
Weis jemand eine Lösung wie das realisieren könnte?
main.cc
CWindow.cc
CWindow.hh
TIA
Ich wollte ein kleines Programm schreiben welches mir bei der Arbeit hilft und vor allem die „Drag & Drop“ Funktion becherst.
Ich kenne das von Photoshop oder Word wo ich zuerst das Programm öffnen kann und dann vom Explorer oder vom Desktop aus mir eine Datei oder ein Bild in das Programm hineinziehen kann.
Jedoch egal was ich mache jedes mal wenn ich versuche etwas hineinzuziehen bekomme ich so nur eine Blockier-ICON (anstele des Mauszeigers) und es passiert nichts.
Weis jemand eine Lösung wie das realisieren könnte?
main.cc
Code: Alles auswählen
#include <QApplication>
#include "CWindow.hh"
int main( int argc, char * argv[] )
{
QApplication app(argc, argv);
CWindow *pWin = new CWindow;
pWin->setMinimumSize(640, 480);
pWin->show();
return app.exec();
}Code: Alles auswählen
#include "CWindow.hh"
//============================================================================== construktor
CWindow::CWindow():
strText("Text")
{
this->setAcceptDrops(true);
create();
}
//============================================================================== destruktor
CWindow::~CWindow()
{
}
//============================================================================== create
void CWindow::create()
{
pVLayout = new QVBoxLayout;
pLabel = new QLabel(strText);
pLabel->setAcceptDrops(true);
pVLayout->addWidget(pLabel);
this->setLayout(pVLayout);
}
//============================================================================== drag Enter Event
//void CWindow::dragEnterEvent(QDragEnterEvent *event)
//{
//}
//============================================================================== drag Enter Event
void CWindow::dropEvent(QDropEvent *pEvent)
{
pLabel->setText("Drop drop droP");
}Code: Alles auswählen
#ifndef CWINDOW_HH
#define CWINDOW_HH
#include <QWidget>
#include <QLabel>
#include <QString>
#include <QVBoxLayout>
#include <QDragEnterEvent>
#include <QDropEvent>
class CWindow : public QWidget
{
public:
CWindow();
~CWindow();
// void dragEnterEvent(QDragEnterEvent *pEvent);
void dropEvent(QDropEvent *pEvent);
private:
QVBoxLayout *pVLayout;
QLabel *pLabel;
QString strText;
void create();
};
#endif // CWINDOW_HH
TIA