Ich möchte QTreeWidgetItems umbenennen, welche sich in meinem QTreeWidget befinden. Das ganz soll während der Laufzeit geschehen. Mein Problem dabei ist, dass die QTreeWidgetItems sich "seltsam" bei der Umbenennung verhalten. Während das Programm läuft, erstelle ich (dynamisch) eigene QTreeWidgetItems. Dabei wird jedes neu erstellte Item selektiert und editierbar gemacht, sodass lediglich der Name eingefügt werden muss. Mein Problem liegt daran, dass nur das erste Item sich "richtig" umbenennen lässt. Das bedeutet, dass der neue Name im TreeWidget (also in der GUI) angezeigt wird und ich diesen auch wieder über den Befehl "text()" herauslesen kann. Alle folgenden Items, die ich erstelle, zeigen entweder nur den Namen in der GUI an oder aber der Name kann nur mittels dem Befehl "text()" herausgelesen werden und ohne das dieser angezeigt wird.
Zunächst mein Quellcode für die Umbenennung:
Code: Alles auswählen
treeWidget->setCurrentItem(Container[i], QItemSelectionModel::ClearAndSelect);//hier wird das neue Item selektiert
Container[i]->setFlags(Container[i]->flags() | Qt::ItemIsEditable);//hier werden meine Items, welche sich in einem Container befinden, editierbar gemacht
treeWidget->editItem(TaskContainer[i], i);// hier findet die Umbenennung statt
In der anderen Varainte, in welcher nur der Name in der GUI angezeigt wird, aber nicht gespeichert wird sieht nahezu gleich aus:
Code: Alles auswählen
treeWidget->setCurrentItem(Container[i], QItemSelectionModel::ClearAndSelect);
Container[i]->setFlags(Container[i]->flags() | Qt::ItemIsEditable);
treeWidget->editItem(TaskContainer[i]);//nur ein Argument befindet sich hier in den Klammern
Kann jemand dabei aushelfen?
Allgemeine Infos: Ich arbeite mit Qt 5.1 und der Qt Doku (http://qt-project.org)