Seite 1 von 1

QTreeWidget Items nachträglich ändern

Verfasst: 9. November 2006 20:38
von Locutus
Hallo!

Ich bin jetzt schon seit einiger Zeit dabei - mehr oder weniger erfolglos leider - ein QTreeWidget zu bearbeiten.
Auf der Trollseite gab's diesen Source, damit kann man wunderschön ein ein QTreeWidget mit Daten füllen. Ich habe jetzt allerdings Probleme damit die gefüllten Daten nachträglich wieder zu editieren.

Wenn ich "item->setData(0,0, "Neuer Text");" benutze wird lediglich die aktuelle Zeile verändert. Was aber wenn ich das allererste, zweite, dritte...Item verändern möchte?
Eine Änderung des currentItem hat leider auch nichts gebracht. Die Anleitung schweigt sich zu dem Thema leider sehr ausführlich aus und ich komme einfach nicht weiter :roll:

Könnte jemand helfen?
Danke!
Locutus

Code: Alles auswählen

#include <QtGui>
int main( int argc, char** argv )
{
        QApplication app( argc, argv );

        QTreeWidget* treeWidget = new QTreeWidget;
        treeWidget->setWindowTitle("Test");
        treeWidget->setColumnCount(4);

        QTreeWidgetItem* item = NULL;
        
		for (int l=0; l<10; l++)
        {
               item = new QTreeWidgetItem(treeWidget);
               item->setText(0, QString::number(l));
               item->setText(1, QString::number(l));
               item->setText(2, QString::number(l));
               item->setText(3, "test");
        }
		
	item->setData(0,0, "Neuer Text"); 
        treeWidget->show();

        return app.exec();
}

Verfasst: 9. November 2006 21:24
von upsala
Wenn du root-Items haben willst, bekommst du sie über

Code: Alles auswählen

QTreeWidgetItem *QTreeWidget::topLevelItem ( int index ) const
Wenn du die Childs von irgendeinem Item haben willst über

Code: Alles auswählen

QTreeWidgetItem *QTreeWidgetItem::child ( int index ) const

Verfasst: 9. November 2006 21:51
von Locutus
Mit einigem Herumprobieren habe ich es jetzt endlich mit deinem Tip hinbekommen! Vielen Dank!!
Jetzt kann ich endlich bei meinem Programm weiter programmieren, nachdem dieses Problem gelöst ist :D