Hallo,
ich kann es bisher nicht schaffen die ersten 3 spalten meiner QTreeView mit Checkboxen zu versehen. Ich kann zwar checkboxen sehen, wenn ich aber drauf klicke passiert überhaupt nichts. (Sie lassen sich nicht deaktivieren!)
Hier sind die Funktionen die ich im QAbstractItemModel implimentiert habe :
Vielen Dank für die schnelle Antwort.
Du hast natürlich Recht, ich weiß aber wirklich nicht wie ich dass verbessern kann!
Wenn ich in Data Qt::Checked weg lasse, dann werden überhaupt keine Checkboxen angezeigt!
könntest du mir weiter helfen ?
Dein Model ist nur der Datenlieferant. Die View frägt die verschiedenen roles durch, und zeigt entsprechend an. Wenn bei einer role ein ungültiger QVariant zurück geliefert wird, wird eben nichts angezeigt. Ein return QVariant() IST ungültig!
Ein "checked()" hat im leeren Raum relativ wenig Sinn. Du willst ja in deinem Model etwas bestimmtes anzeigen - Daten im Allgemeinen. Zugrunde liegt meist irgend eine Struktur, die selber Daten und evtl. Infos hält (siehe QModelIndex::internalPointer()). Ein checked im Model sollte also einen tatsächlichen Zustand deiner Daten wieder spiegeln.
Ergo: Du musst dir den Zustand der CheckBox merken
Eigentlich brauche ich erstmal nur Checkboxen im leeren Raum(Ersten drei Spalten) die sich aktivieren und deaktivieren lassen (Also keine Daten neben die Checkboxen)
Das dürfte wohl nicht zu schwierig sein, aber mit nur zwei Wochen Qt Erfahrung ist alles ein
Wenn es möglich wäre, könntest du mir sagen wie ich mein Modell ergänzen soll.
Meine Daten sind in die Spalten 4, 5 und 6.
In die ersten drei Spalten brauche ich nur checkboxen die der User aktivieren und deaktivieren kann.
Alles funktioniert prima bis auf diese checkboxen die sich nicht checken und unchecken lassen.
Je nachdem welchem zustand diese checkboxen aufweisen, wird der "Type" meiner Daten intern geändert, also an dem View brauche ich nichts außer checkbox Zustand zu ändern.
Was verstehst Du darunter "alles funktioniert prima"? Für mich heisst das, dass Du die Daten aus anderen Spalten anzeigen/ändern kannst. Wo werden die Daten gespeichert? Mit sicherheit in irgendwelchen Variablen. In genau solchen Variablen muss der Zustand der Checkboxen gespeichert werden.
Danke du hast mich genau verstanden, genau das wollte ich machen
Könntest du mir sagen wie ich der Zustand der checkboxen in die setData Methode speichern kann? Wird ich drei Variablen brauchen?(Eine für jede Spalte)
"Unter prima meinte ich dass meine Daten (Spalten 4,5 und 6) richtig angezeigt werden"
http://doc.trolltech.com/4.7/modelview. ... pplication sollte man einfach mal durcharbeiten anstatt sich die Arbeit von anderen erledigen zu lassen...
Wie Du Deine Daten intern verwaltest ist ist Dein Problem - das kommt darauf an was du damit anfangen willst, wo sie herkommen etc.