Ich habe ein Fenster mit einem QScrollArea
mit ein paar Widgets drin.Qt: Wie man ein Fenster auf seinen neuen Inhalt skaliert
Bis jetzt erstellte ich die QScrollArea
und seine untergeordneten Widgets im Konstruktor meines Fensters, und dann änderte ich das Fenster vertikal, um seinen Inhalt unter Verwendung resize(400, sizeHint().height())
anzupassen. So weit, ist es gut.
Jetzt, ich hinzufügen oder entfernen Widgets in der QScrollArea
zur Laufzeit. Was muss ich tun, nachdem ich Widgets hinzugefügt oder entfernt habe, damit das Fenster vertikal in den Inhalt passt? Sollte ich adjustSize()
anrufen? resize(sizeHint())
? Sollte es einen ersten Anruf bei layout->activate()
oder vielleicht updateGeometry()
geben? Welche Größenrichtlinien spielen in diesem Fall eine Rolle? Die des Fensters oder des Bildlaufbereichs oder beides? Ich habe versucht, sie alle auf Expanding
zu setzen.
Ich verwende Qt 4.6 unter Windows.
Soll die QScrollArea keine Bildlaufleisten haben? –
Absolut, jetzt ist die Idee, die vertikale Bildlaufleiste loszuwerden. Der nächste Schritt wird sein, dass es nur angezeigt wird, wenn die Gesamthöhe des QScrollArea-Inhalts wirklich zu groß ist oder wenn der Benutzer die Größe des Fensters ändert. –