Hallo,
ich habe hier ein QTabWidget mit zwei Views (einer davon ein QGraphicsView).
Ich lade nun Daten und lasse beide views ihre Sachen berechnen (für den QGraphicsView setze ich z.B. SceneRect). Nun gibt es ein Problem, wenn ich Daten lade, der QGraphicsView aber vorher noch nicht einmal sichtbar war (also der andere View immer aktiv war). Dann geben z.B. width() und height() des QGraphicsView falsche Werte zurück (z.B. 100 und 30) und damit klappt das setzen des SceneRects nicht (da ja alle Berechnungen auf den falschen Werten beruhen). War der view vorher einmal aktiv, sind die Werte richtig (z.B. dann 1056 und 597) und alles klappt.
Wie kann ich ein Widget veranlassen, dass es seine Geometrie richtig kennt, ohne es einmal anzeigen zu müssen?
Danke! - C.
Layout (Breite, Höhe) eines Widgets berechnen lassen
-
Curtis Newton
- Beiträge: 122
- Registriert: 11. Juni 2008 18:39
-
Curtis Newton
- Beiträge: 122
- Registriert: 11. Juni 2008 18:39
Re: Layout (Breite, Höhe) eines Widgets berechnen lassen
Ich machs nun so, dass ich nach dem show des Hauptfenster einmal das mache:
Hässlicher Hack, geht aber!
C.
Code: Alles auswählen
int ci=_tab->currentIndex();
for(int i=0; i<_tab->count(); i++) _tab->setCurrentIndex(i);
_tab->setCurrentIndex(ci);
C.