QWizardPages ihre eigenen Mindestgrößen zu halten
Frage
Ich arbeite mit Qt ( Version 4.6 auf Windows XP 32-Bit und Kompilieren in Qt Creator 2.0.0) und versucht, einen QWizard raus zu arbeiten.
Erstes Problem: :
Ich habe drei QWizardPages in meinem QWizard so weit. Jede Seite verfügt über ein QVBoxLayout wie es das Layout angelegt. Meine erste Seite hat sehr geringen Gehalt (nur drei Linien QLabel), aber aus irgendeinem Grund gibt es ziemlich viel Leerraum zwischen dem QLabel und dem „
Zweite (und meistens wahrscheinlich mit dem ersten zusammen) Problem :
Auch meine zweite Seite ist viel größer als meine erste Seite, so dass, wenn ich auf die zweite Seite gelangen und auf die ersten Seite zurückkommen, die erste Seite behält die gleiche Größe wie die zweite Seite aber erst, nachdem ich besucht habe die zweite Seite. Ist das ein Fehler?
Die einzige Geometrie Einstellung ich tue, ist, wenn ich ein
move(50, 50);
im QWizard Konstruktor. Keine komprimiert die Größe ... nichts explizit. Ich versuche, die Layouts tun, um ihre Magie zu lassen.
Danke für Ihre Hilfe in vorgerückten.
Lösung
Um dieses Problem zu beheben, habe ich ein Kind Klasse von QWizard und erstellt einen eigenen Steckplatz wie folgt aus:
void ChildClass::fitContents(int id)
{
adjustSize(); // this automagically resizes the window to fit the contents
}
Und machte es hatte es jedes Mal, wenn die Seite geändert wurde genannt, etwa so:
connect(this, SIGNAL(currentIdChanged(int)), this, SLOT(fitContents(int)));