An QTreeWidgetItem Klassen anhängen

Alles rund um die Programmierung mit Qt
Antworten
taraquedo
Beiträge: 36
Registriert: 1. März 2007 13:07

An QTreeWidgetItem Klassen anhängen

Beitrag von taraquedo »

Hallo!
Ich möchte zu jedem Eintrag in einem QTreeWidget einen Zeiger auf eine selbst erstellte Klasse verwalten. Auf diese Weise möchte ich zu jedem Eintrag nicht sichtbare Daten speichern, eben die in meiner eigenen Klasse. Dafür gibt es doch garantiert eine Lösung. Ich finde die nicht.
Irgendwie steht bei setData() was mit Qt::UserRole - geht das damit irgendwie?
Dann habe ich versucht eine eigene Klasse von QTreeWidgetItem erben zu lassen und um den benötigten Zeiger oder meine Elemente zu erweitern. Ohne Erfolg. Da gab es nur sehr seltsame Fehlermeldungen in den MOC Files.
Bin für Tipps dankbar. Oder vielleicht gibt es ja sogar irgendwo einen Beispielcode, wo ich das mal nachvollziehen kann.
Grüße!
PeterLustig
Beiträge: 386
Registriert: 21. November 2007 20:07

Beitrag von PeterLustig »

QTreeWidgetItem zu subclassen ist wunderbar möglich. Damit kannst du anstellen, was du vorhast. Moc sollte da garnicht laufen, da QTreeWidgetItem nicht von QObject ableitet. Nur wenn du innerhalb deiner eigenen Klasse, die du anhängen willst, QObjekte benutzt, dann musst du das QTreeWidgetItem _auch_ von QObject ableiten (und zwar als erstes!) und das Q_OBJECT Makro anhängen.
taraquedo
Beiträge: 36
Registriert: 1. März 2007 13:07

Gelöst: An QTreeWidgetItem Klassen anhängen

Beitrag von taraquedo »

Ahh, genau das war das Problem. Ich hatte das Q_OBJECT Makro benutzt und dann hat er nicht unerheblich rumgemeckert. Dann mache ich das jetzt nochmal ohne.

Vielen Dank für diese schnelle Antwort!
PeterLustig
Beiträge: 386
Registriert: 21. November 2007 20:07

Beitrag von PeterLustig »

Du solltest dir vielleicht mal anschauen was das Q_OBJECT Makro denn macht. Und QMake durchsucht alle Header nach dem Makro und führt moc für diese Dateien aus. Dann solltest du auch verstehen warum er meckert.
Antworten