ich versuche grade mit QTreeWidget und XML-Files etwas zu experimentieren. Dabei wird ein XML-File eingelesen und entsprechend angezeigt. Löschen, Öffnen und Speichern klappt einwandfrei (ok,ist mit qt doku und examples auch nicht allzu schwer
jetzt versuche ich jedoch, neue Einträge hinzuzufügen und da scheitert es dann. ich weiß jetzt nicht direkt, wie ich das erklären soll, ohne den ganzen code zu posten, aber ich versuchs mal:
ich habe eine mainwindow.cpp+.h, eine ioall.cpp+.h und eine addnew.cpp+.h. In der Klasse mainwindow wird u.a. das TreeWidget erzeugt. Auch wird von dort aus die Klasse addnew aufgerufen, da diese das Eingabefenster "modelliert" und die Eingaben in das TreeWidget einfügen soll.
Doch an der Stelle:
Code: Alles auswählen
QTreeWidgetItem *item = new QTreeWidgetItem(treeWidget);
item->setText(0, name2);
treeWidget->addTopLevelItem(item);
QTreeWidgetItem *addItem = new QTreeWidgetItem(item);
addItem->setText(0, tr("Vorname"));
addItem->setText(1, vorname2);
item->addChild(addItem);
stürzt das Prog dann ab, debuggen ergibt einen Segmentation Fault und beim weiteren Durchschauen der Debugger-Ausgaben einen PointerError, sprich, der weiß nicht, wo er den kram reinschreiben soll. Und ich ehrlich gesagt nicht, wie ich ihm beibiegen soll, dass er das treeWidget aus dem mainwindow nehmen soll. In allen Headerfiles ist das TreeWidget public deklariert.
Beispiele im Netz und in Büchern behandeln zwar das Thema, allerdings fügen die ihre Sachen immer in der gleichen Klasse zu :/
Wäre echt nett, wenn jemand nen tipp geben könnte..