QWizardPages para mantener sus propios tamaños mínimos
Pregunta
Estoy trabajando con Qt ( versión 4.6 en Windows XP de 32 bits y la compilación de Qt Creator 2.0.0) y tratando de conseguir un QWizard a funcionar.
primer problema
Tengo tres QWizardPages en mi QWizard hasta ahora. Cada página tiene un QVBoxLayout aplica, ya que de diseño. Mi primera página tiene un contenido muy pequeña (sólo una de tres líneas QLabel) pero por alguna razón hay un poco de espacio en blanco entre el QLabel y el "
Segundo (y sobre todo probable relacionado con el primero) Problema :
Además, mi segunda página es mucho más grande que mi primera página, así que cuando llego a la segunda página y volver a la primera página, la primera página mantiene el mismo tamaño que la segunda página, pero sólo después de haber visitado el segunda pagina. Es esto un error?
El único ajuste que estoy haciendo geometría es cuando hago un
move(50, 50);
en el constructor QWizard. No se cambia el tamaño ... nada explícito. Estoy tratando de dejar que los diseños hacen su magia.
Gracias por su ayuda en la avanzada.
Solución
Para solucionar este problema, he creado una clase hija de QWizard y creó una ranura privada como esto:
void ChildClass::fitContents(int id)
{
adjustSize(); // this automagically resizes the window to fit the contents
}
Y lo hizo tuvo que llama cada vez que la página se ha cambiado, así:
connect(this, SIGNAL(currentIdChanged(int)), this, SLOT(fitContents(int)));