Ich muss nochmal ne Frage loswerden.
Ich habe ein QTreeWidget in dem zur Laufzeit Daten hinzugefügt werden. Wie kann ich nun ebenfalls zu Laufzeit auf einzelne TopLevelItems zugreifen und darin einen Wert ändern?
Ich arbeite hierbei bislang nicht mit ModelIndex.
Wert in TopLevelItem ändern
Ich hatte das bislang so versucht. Ohne diesen ModelIndex. Ich dachte das müsste auch ohne funktionieren.
Leider wird aber bei diesem Code nichts im TreeWidget verändert. Ist der Ansatz so total falsch?
Code: Alles auswählen
int row = ui->treeWidget_DownLoaded->topLevelItemCount();
QTreeWidgetItem *item = new QTreeWidgetItem(ui->treeWidget_DownLoaded->topLevelItem(row));
item->setText(0, "Kotz");
item->setText(5, "test");
ui->treeWidget_DownLoaded->setCurrentItem(item, row);Dir ist schon klar das du damit ein Item erstellst...
QTreeWidgetItem *item = new QTreeWidgetItem(ui->treeWidget_DownLoaded->topLevelItem(row));
Das brauchst du doch gar nicht....
du brauhst den Index deines Items und dann holst du dir das Item.... was du da gerade machst is nen Item zu erstellen was genauso aus sieht wie das was du bearbeiten willst, es aber gar nicht ist
Was hälst denn hiervon?
QTreeWidgetItem *item = new QTreeWidgetItem(ui->treeWidget_DownLoaded->topLevelItem(row));
Das brauchst du doch gar nicht....
du brauhst den Index deines Items und dann holst du dir das Item.... was du da gerade machst is nen Item zu erstellen was genauso aus sieht wie das was du bearbeiten willst, es aber gar nicht ist
Was hälst denn hiervon?
QTreeWidgetItem * QTreeWidget::topLevelItem ( int index ) const
mit new erzeugst du dir ein neues Item (weiss nicht genau was das in demFall ist was er dir zurückliefert aber ich geh davon aus das es nur eine Kopie ist)
Du brauchst aber das OrginalItem bzw den Ptr darauf.
Den bekommst du mit
Index is der den du willst...also welches Item.
Dann hast du den Ptr auf das Item das du bearbeiten möchtest.
also QTreeWidgetItem *item2Change = m_ui->deinTreeWidget->topLevelItem ( int index );
item2Change->setText ( 0, "Bla" );
Du brauchst aber das OrginalItem bzw den Ptr darauf.
Den bekommst du mit
Code: Alles auswählen
QTreeWidgetItem * QTreeWidget::topLevelItem ( int index ) constDann hast du den Ptr auf das Item das du bearbeiten möchtest.
also QTreeWidgetItem *item2Change = m_ui->deinTreeWidget->topLevelItem ( int index );
item2Change->setText ( 0, "Bla" );