QWizardPages de garder leurs propres tailles minimales
Question
Je travaille avec Qt ( version 4.6 sous Windows XP 32 bits et la compilation de Qt Creator 2.0.0) et essayer d'obtenir un QWizard de travailler.
Premier problème :
J'ai trois QWizardPages dans mon QWizard jusqu'à présent. Chaque page a une QVBoxLayout appliquée comme la mise en page de lui. Ma première page a très faible teneur (juste trois lignes QLabel), mais pour une raison quelconque, il y a un peu d'espace blanc entre le QLabel et le «
Deuxième (et surtout probablement liée à la première) Problème :
En outre, ma deuxième page est beaucoup plus grande que ma première page, alors quand je reçois à la deuxième page et de revenir à la première page, la première page maintient la même taille que la deuxième page, mais seulement après avoir visité le deuxième page. Est-ce un bug?
La seule géométrie réglage que je fais est quand je fais un
move(50, 50);
dans le constructeur QWizard. Pas redimensionne ... rien d'explicite. Je suis en train de laisser les mises en page font leur magie.
Merci pour votre aide à l'avance.
La solution
Pour résoudre ce problème, je créé une classe d'enfants de QWizard et a créé un slot privé comme ceci:
void ChildClass::fitContents(int id)
{
adjustSize(); // this automagically resizes the window to fit the contents
}
Et fait l'avait appelé à chaque fois que la page a été modifiée, comme suit:
connect(this, SIGNAL(currentIdChanged(int)), this, SLOT(fitContents(int)));