Drag Drop in TableWidget

Verschiedenes zu Qt
Antworten
MTW
Beiträge: 20
Registriert: 24. Juni 2008 18:26
Wohnort: Vaihingen/Enz
Kontaktdaten:

Drag Drop in TableWidget

Beitrag von MTW »

Hallo zusammen,

ich habe ein QTableWidget, in dem man Items mittels Drag und Drop verschieben können soll. Ich habe also das DragEnterEvent und das DropEvent reimplementiert, und darin dann jeweils den Text der angeklickten Items der Zeile zwischengespeichert und im DropEvent wieder eine neue Zeile mit Items, die den Text der alten erhalten, in das TableWidget eingefügt. Soweit funktioniert das alles, jedoch kommt es manchmal zu Fehlern, wenn ich zu schnell ein Item verscheiben möchte, was wahrscheinlich daran liegt dass das item von dem ich den text abspeichere, schon nicht mehr das ursprüngliche zu draggende item war. So sieht die Zwischenspeicherung aus:

Code: Alles auswählen

void tableWidgetClass::dragEnterEvent(QDragEnterEvent *event){

    currentRow = this->row(this->itemAt(event->pos()));
    source0 = this->item(currentRow,0)->text();
    iconSource = this->item(currentRow,0)->icon();
    source1 = this->item(currentRow,1)->text();
    source2 = this->item(currentRow,2)->text();

    event->acceptProposedAction();

}
Jetzt würde sich als nicht so schöne aber denke ich funktionierende lösung setStartDragTime eignen um diesen Fehler zu beheben, aber egal was ich einstelle es ändert sich nichts.

Habt ihr eine Idee??
MTW
Beiträge: 20
Registriert: 24. Juni 2008 18:26
Wohnort: Vaihingen/Enz
Kontaktdaten:

Beitrag von MTW »

Hat denn keiner eine Meinung dazu, oder vielleicht einen anderen Ansatz um das in den Griff zu bekommen?

Es hat doch sicherlich schonmal jemand so etwas wie ich machen wollen... :roll:
Antworten