Seite 1 von 1

Drag & Drop eines Ordners von QTreeView zu QTreeView

Verfasst: 6. Januar 2008 11:36
von mifirsto
Hallo,

ich versuche einen Ordner mit drag & drop von einem QTreeView zu einem anderen QTreeView zu kopieren bzw. zu verschieben. Mit einzelnen Datein funktioniert es, aber bei verzeichnissen versagt mein code.
Als Model habe ich die Klasse QDirModel benutzt.

Muss man für Ordner event Methoden überschreiben :?:
Wenn ja wie :?:

Ich bin für Tipps, Links oder Code dankbar

Frohes neues Jahr

Verfasst: 17. Januar 2008 15:38
von mifirsto
Kann mir wirklich keiner helfen. :(

Verfasst: 17. Januar 2008 16:05
von macman
Ich beschäftige mich nicht mit Models, aber da du nicht mal geschrieben hast, was dein eigentliches Problem ist, kann dir auch keiner helfen.

Verfasst: 17. Januar 2008 17:37
von mifirsto
Danke für die Antwort.

1.Wie kopiert man einen Ordner mit Inhalt (Dateien, Unterordner)?
2.Was wird in einem QDrag Objekt gespeichert, wenn ein drag & drop Vorgang auf ein Ordner angewendet wird ?

Ich habe bei mehreren Beispielen gesehen, was man bei einem drag & drop Vorgang mit Bildern oder Text macht. Jedoch habe ich kein Beispiel gefunden das mit erklärt was ich mit einem Ordner mache. Ich nehme an das man nicht den ganzen Order mit Unterordnern in ein QDrag Objekt zwängt.

Beispiel mit Text und Bild

Code: Alles auswählen


void ProjectWidget::startDrag(){

QListWidgetItem * item = currentItem();

if(item){
QMimeData *mimeData = new QMimeData;
mimeData->setext(item->text());
QDrag *drag = new QDrag(this);
drag->setMimeData(mimeData);
drag->setPixmap(QPixmap(:/images/person.png;));
...

Verfasst: 18. Januar 2008 07:45
von macman
Interessant an den Beispielen ist doch das dropEvent und nicht das startDrag. Wenn es jetzt schon mit einzelnen Dateien funktioniert, dann steht vermutlich Name und Pfad im Dragobjekt. Überschreib das dropEvent und step da durch, gucken was kommt und was passiert. Bei Ordnern wirst Du selbst tätig, sonst rufst Du die Methode der Basisklasse auf.