QSqlQueryModel::setHeaderData(...) will nicht [gelöst]

Verschiedenes zu Qt
Antworten
Troll.Soft
Beiträge: 190
Registriert: 18. Juni 2008 09:52
Wohnort: Hamburg

QSqlQueryModel::setHeaderData(...) will nicht [gelöst]

Beitrag von Troll.Soft »

Hallo,
hat jemand eine Idee, wie ich die Daten in einem verticalen Header ändern kann. Die Trolle lassen das anscheinend nur für horizontrale Header zu.
Nachfolgender Code compiliert und funktioniert für den horizontalen Header. Mein Anwendung wäre begeistert, wenn ich auch die verticalen Daten anpassen könnte.

bin für jeden Tip dankbar

Code: Alles auswählen

int          Row = 2;
QVariant Data = 1234;
Model->setHeaderData(Row, Qt::Horizontal, Data, Qt::EditRole );
Model->setHeaderData(Row, Qt::Vertical,     Data, Qt::EditRole );
Zuletzt geändert von Troll.Soft am 5. November 2009 19:42, insgesamt 1-mal geändert.
solarix
Beiträge: 1133
Registriert: 7. Juni 2007 19:25

Beitrag von solarix »

Genau dieser Fall ist hier beschrieben: http://doc.trolltech.com/4.5/qsqlquerym ... HeaderData

[EDIT]
Und warum das so ist, steht hier: http://qt.nokia.com/doc/4.5/qtsql.html# ... table-view
Vermutlich wuerde helfen, die Klasse abzuleiten und ein eigenes headerData() zu implementieren.. aber das ist nicht im Sinne des Erfinders..
Troll.Soft
Beiträge: 190
Registriert: 18. Juni 2008 09:52
Wohnort: Hamburg

Beitrag von Troll.Soft »

Hm ja,
erstmal danke für die Hinweise,
das Qt mich an den verticalen Header nicht ran läßt war mir bekannt.
Den Text warum das so ist habe noch mal durchgelesen, konnte allerdings keinen Grund erkennen.

Mir fällt nur ein Workaround der Art ein den verticalen Header zu hiden und eine extra Spalte einzufügen. Das gefällt aber nich wirklich.

Code: Alles auswählen

TableView->verticalHeader()->hide();
Model->insertColumn(0);
falls jemand noch eine Idee hat, wie man das Qt-mäßig lösen kann ?
AuE
Beiträge: 918
Registriert: 5. August 2008 10:58

Beitrag von AuE »

solarix hat geschrieben: Vermutlich wuerde helfen, die Klasse abzuleiten und ein eigenes headerData() zu implementieren.. aber das ist nicht im Sinne des Erfinders..
Troll.Soft
Beiträge: 190
Registriert: 18. Juni 2008 09:52
Wohnort: Hamburg

Beitrag von Troll.Soft »

Alles ok,
ableiten und eigenes headerData() war das richtige.
Danke an solarix und AuE.

Was ich nicht verstanden habe, warum schreibt solarix, ".. aber das ist nicht im Sinne des Erfinders.." Das brachte mich nur auf die Idee, das das mit dem Ableiten nicht ernst gemeint war, zumal Qt die Welt mit setHeader() ziemlich verscheißert.

Aber nun ist alles in Butter.
solarix hat geschrieben: Vermutlich wuerde helfen, die Klasse abzuleiten und ein eigenes headerData() zu implementieren.. aber das ist nicht im Sinne des Erfinders..
Antworten