QTreeWidget, parent child, Drag & Drop
Verfasst: 4. November 2007 13:38
Hi@all
Ich habe da so 1,2 kleine Probleme (Große) mit Drag & Drop.
Ich erkläre erstmal was ich vorhabe:
Sagen wir mal ich habe 2x QTreeWidget (bzw meine eigenen unter Klasse),
TreeWidget1 hat den header an Stelle 0 "Orignal View"
TreeWidget2 hat den header an Stelle 0 "Loaded Elements"
bei 1 ist Drag&Drop erlaubt
bei 2 ist nur Drag erlaubt
Nun will ich aus TreeWidget2 ein Element in TreeWidget1 ziehen, und in dem Moment wo ich die Maustaste loslasse und das "QTreeWidgetItem2" einem anderes "QTreeWidgetItem1" fällt möchte ich eine Abfrage starten, welche mir das vergleicher beider "QTreeWidgetItems" erlaubt.
Das war die 1ste Frage,
Und die 2te Frage ist
wieso funktioniert hier der Drop:
Und hier funktioniert der Drop nicht
Obwohl der Statustext beide male angezeigt wird
Gruss Limexx
Ich habe da so 1,2 kleine Probleme (Große) mit Drag & Drop.
Ich erkläre erstmal was ich vorhabe:
Sagen wir mal ich habe 2x QTreeWidget (bzw meine eigenen unter Klasse),
TreeWidget1 hat den header an Stelle 0 "Orignal View"
TreeWidget2 hat den header an Stelle 0 "Loaded Elements"
bei 1 ist Drag&Drop erlaubt
bei 2 ist nur Drag erlaubt
Nun will ich aus TreeWidget2 ein Element in TreeWidget1 ziehen, und in dem Moment wo ich die Maustaste loslasse und das "QTreeWidgetItem2" einem anderes "QTreeWidgetItem1" fällt möchte ich eine Abfrage starten, welche mir das vergleicher beider "QTreeWidgetItems" erlaubt.
Das war die 1ste Frage,
Und die 2te Frage ist
wieso funktioniert hier der Drop:
Code: Alles auswählen
if(this->headerItem()->text(0)=="Original View")
{
QTreeWidget::dropEvent(event);
if(event->mimeData()->hasText())
{
emit status(QString("has Text : ").append(this->headerItem()->text(0)).append(" and Drop ist Accepted"),1000);
}
else
{
emit status("mimeData has no text",1000);
}
}
Code: Alles auswählen
if(this->headerItem()->text(0)=="Original View")
{
if(event->mimeData()->hasText())
{
QTreeWidget::dropEvent(event);
emit status(QString("has Text : ").append(this->headerItem()->text(0)).append(" and Drop ist Accepted"),1000);
}
else
{
emit status("mimeData has no text",1000);
}
}
Gruss Limexx