Drag & Drop eines Ordners von QTreeView zu QTreeView

Alles rund um die Programmierung mit Qt
Antworten
mifirsto
Beiträge: 6
Registriert: 5. Januar 2008 11:56

Drag & Drop eines Ordners von QTreeView zu QTreeView

Beitrag 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
mifirsto
Beiträge: 6
Registriert: 5. Januar 2008 11:56

Beitrag von mifirsto »

Kann mir wirklich keiner helfen. :(
macman
Beiträge: 1738
Registriert: 15. Juni 2005 13:33
Wohnort: Gütersloh
Kontaktdaten:

Beitrag 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.
Die deutsche Schriftsprache ist case-sensitive. Außerdem gibt es eine Interpunktionsnorm. Wenn manch einer seine Programme genauso schlampig schreibt, wie sein Posting hier, dann sollte er es lieber bleiben lassen.
mifirsto
Beiträge: 6
Registriert: 5. Januar 2008 11:56

Beitrag 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;));
...
macman
Beiträge: 1738
Registriert: 15. Juni 2005 13:33
Wohnort: Gütersloh
Kontaktdaten:

Beitrag 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.
Die deutsche Schriftsprache ist case-sensitive. Außerdem gibt es eine Interpunktionsnorm. Wenn manch einer seine Programme genauso schlampig schreibt, wie sein Posting hier, dann sollte er es lieber bleiben lassen.
Antworten