QTreeWidget Items nachträglich ändern

Alles rund um die Programmierung mit Qt
Antworten
Locutus

QTreeWidget Items nachträglich ändern

Beitrag 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();
}
upsala
Beiträge: 3946
Registriert: 5. Februar 2006 20:52
Wohnort: Landshut
Kontaktdaten:

Beitrag 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
Locutus

Beitrag 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
Antworten