setHeaderData und QDirModel

Alles rund um die Programmierung mit Qt
Antworten
wipiku
Beiträge: 15
Registriert: 13. März 2007 08:35

setHeaderData und QDirModel

Beitrag von wipiku »

Hallo,

ich versuche schon einen ganze Weile den Header des QDirModels zu verändern. Lt. Doku und dem Forum funktioniert das über:

setHeaderData( int section, Qt::Orientation orientation, const QVariant & value, int role = Qt::EditRole )

Also dachte ich, ich versuche es einfach mal mit:

Code: Alles auswählen

QDirModel *dirModel = new QDirModel;
dirModel->setHeaderData(0, Qt::Horizontal, "Test", Qt::DisplayRole);
Nur dummerweise ändert sich am Header nichts, wenn ich mir das Ganze in einer QTreeView anzeigen lasse.

Da es bei einem selbst erstellten Model funktioniert:

Code: Alles auswählen

QStandardItemModel *model = new QStandardItemModel (1,2);
model->setHeaderData(0, Qt::Horizontal, "Test1", Qt::DisplayRole);
model->setHeaderData(1, Qt::Horizontal, "Test2", Qt::DisplayRole);
bin ich etwas ratlos.


Vielleicht kann mir einer von Euch auf die Sprünge helfen.
upsala
Beiträge: 3946
Registriert: 5. Februar 2006 20:52
Wohnort: Landshut
Kontaktdaten:

Beitrag von upsala »

Wo steht das in der Doku von QDirModel? Laut Doku wird auch setHeaderData im QDirModel nicht reimplementiert, also denke ich, daß es recht unwahrscheinlich, ist, daß das bei QDirModel geht.
wipiku
Beiträge: 15
Registriert: 13. März 2007 08:35

Beitrag von wipiku »

Ich war bei "List of All Members for QDirModel" und habe da "setHeaderData" gelesen.

Ist das Gewünschte nicht anderweitig umsetztbar, ohne mir etwas komplett eigenes basteln zu müssen?
upsala
Beiträge: 3946
Registriert: 5. Februar 2006 20:52
Wohnort: Landshut
Kontaktdaten:

Beitrag von upsala »

Aber sicher doch. headerData() ist immer nocht virtuell
wipiku
Beiträge: 15
Registriert: 13. März 2007 08:35

Beitrag von wipiku »

Danke für die Antwort.

Mit headerData() habe ich auch schon herum experimentiert, ohne sichtbaren Erfolg.

Auch auf die Gefahr hin, gleich als völlig Unwissender gebrandmarkt zu werden, frage ich einfach mal, wie ich mit headerData() den Header verändert bekomme.

Lt. Doku bekomme ich doch nur etwas.
Returns the data stored under the given role for the specified section of the header with the given orientation
Das Auslesen habe ich ohne Probleme hinbekommen, aber wie verändere ich ihn damit?
upsala
Beiträge: 3946
Registriert: 5. Februar 2006 20:52
Wohnort: Landshut
Kontaktdaten:

Beitrag von upsala »

Mit setHeaderData z.B. Der ist ja auch noch virtuell.
wipiku
Beiträge: 15
Registriert: 13. März 2007 08:35

Beitrag von wipiku »

Sorry, aber das mit dem "virtual" habe ich trotz intensiver Recherchen in der Vergangenheit leider immer noch nicht verstanden (kam bis jetzt immer ohne aus).

Ich weiß, es hat nichts speziell mit Qt zu tun.

Dennoch bitte ich um einen kleinen Schubs in die richtige Richtung, da ich keine Ahnung habe, wie ich die virtuelle Eigenschaft ausnutzen, sprich wie gewünscht überschreiben, kann.
franzf
Beiträge: 3114
Registriert: 31. Mai 2006 11:15

Beitrag von franzf »

wipiku hat geschrieben:Dennoch bitte ich um einen kleinen Schubs in die richtige Richtung, da ich keine Ahnung habe, wie ich die virtuelle Eigenschaft ausnutzen, sprich wie gewünscht überschreiben, kann.
Polymorphie.
Schnell gefundener Link:
http://www.willemer.de/informatik/cpp/cppvirt.htm
wipiku
Beiträge: 15
Registriert: 13. März 2007 08:35

Beitrag von wipiku »

franzf:

Danke für den Link.

Wenn ich das richtig verstanden habe, bräuchte ich für mein Problem aber in QDirModel weiterhin setHeaderData, was dann die setHeaderData von QAbstractItemModel übeschreiben würde.

Tut mir leid, aber wahrscheinlich sehe ich den Wald vor lauter Bäumen nicht.
Antworten