Seite 1 von 1

QTreeWidget(Item): Ueberpruefen ob Item ein TopLevelItem ist

Verfasst: 16. August 2010 17:59
von Elbrecht
Hallo,

in meinem Programm wird ein Eintrag mit verschiedenen Subeintraegen in einem QTreeWidget dargestellt.

Ueber einen Remove-Button sollen die Eintraege nun geloescht werden.

Aber: Selbst wenn nur ein Child-Item selektiert ist, soll das ganze TopLevelItem samt seiner Childs geloescht werden.

QTreeWidget::selectedItems() gibt mir nun die selektierten Items zurueck.
Wie ueberpruefe ich, ob das Item ein TopLevelItem ist?

Viele Gruesse,
Florian

P.S.: Was passiert, wenn ich ein QTreeWidgetItem zweimal mit delete loesche?

Re: QTreeWidget(Item): Ueberpruefen ob Item ein TopLevelItem

Verfasst: 16. August 2010 18:11
von franzf
Elbrecht hat geschrieben:Wie ueberpruefe ich, ob das Item ein TopLevelItem ist?
parents zählen?
P.S.: Was passiert, wenn ich ein QTreeWidgetItem zweimal mit delete loesche?
Probiers doch aus :P

Code: Alles auswählen

int main() {
    int* i = new int(10);
    delete i;
    delete i;
}
kompilieren (geht) und laufen lassen (geht schief).

Verfasst: 16. August 2010 18:21
von padreigh

Code: Alles auswählen

    QTreeWidgetItem * item = treeWidgetsName->currentItem();

    while(item->parent() != 0) {item = item->parent(); }
    
    // delete item;
    // item = 0;