Wie setze ich am geschicktesten die Höhe eines QTreeViews

Alles rund um die Programmierung mit Qt
Antworten
Wurgl
Beiträge: 7
Registriert: 19. April 2006 13:54

Wie setze ich am geschicktesten die Höhe eines QTreeViews

Beitrag von Wurgl »

Ich habe einen QTreeView und der soll zu einer Ansicht entartet werden, die aus einer Headerzeile und genau einer Datenzeile besteht (bzw. zum Zeitpunkt des Aufbaus des Formulars aus keiner Datenzeile).

Die Standardhöhe ohne irgendwelche Size-Hints scheint ja Header + 8 Zeilen zu sein, das ist mir deutlich zu groß.

sizeHintForRow(int row) fällt aus, ich hab beim Aufbau keine Daten. Okay, ich könnte einen Dummy-Item einfügen und dann herumrechnen. Ist aber nicht so supertoll.

Ich hab mir beinahe einen Wolf gesucht, die (abgesehen von Dummy-Item) einzige Möglichkeit die ich soweit gesehen habe, ist über die Fontgröße (absolute Zahlen mag ich nicht, weil die Fontgröße je nach Einstellungen am Desktop und Betrübssystem ja unterschiedlich ist). Aber Fontgröße ist auch nicht ganz so toll, da dann ja die Linien dazwischen, die Abstände zu den Linien und sonstiges noch dazukommt.

Gibts da ein simples Beispiel dazu?
Hab ich was übersehen?

Danke!
o.teske
Beiträge: 12
Registriert: 25. Januar 2010 11:15
Wohnort: Oberursel im Taunus in Hessen
Kontaktdaten:

Beitrag von o.teske »

Hallo,

ich arbeite bei der Erstellung von GUIs i.R. mit dem Designer. Dort kannst Du jedes Widget belibieg groß oder klein ziehen. Wenn das mit dem Designer geht, dann geht es auch von Hand. Ich habe den Methoden namen dazu jetzt hier nicht im Kopf aber schau doch mal in der Doku unter den n dazu geerbten Methoden deines Widget.

Gruß
Oli
upsala
Beiträge: 3946
Registriert: 5. Februar 2006 20:52
Wohnort: Landshut
Kontaktdaten:

Beitrag von upsala »

Ich würde mal in den Sourcen von Qt nachsehen, wie die Höhe der 8 Items berechnet wird.

Wahrscheinlich gehts aber über den SizeHint vom Header+SizeHint vom QItemDelegate.
Wurgl
Beiträge: 7
Registriert: 19. April 2006 13:54

Beitrag von Wurgl »

Nach einer recht kurzen Nacht bekomm ich jetzt wenigstens die Höhe des Headers raus.
myTree->header()->sizeHint().height();

Gut, damit kann ich vorläufig mal leben da ich (vorläufig) annehme, dass die Zeilen des Modells ebenso hoch werden.

@o.teske: Ich tippte doch ein, dass ich keine Absolutwerte will. Das Progrämmchen soll mal auf allen drei Plattformen laufen (Apple, Linux und Windows) und da sind Absolutwerte überhaupt nicht toll. Schalt mal bei Windows von normalen Fonts auf die großen Fonts um, dann sieht man nur mehr die Hälfte.
Antworten