QWizardPages per mantenere le proprie dimensioni minime
Domanda
Sto lavorando con Qt ( Versione 4.6 su Windows XP a 32 bit e la compilazione di Qt Creator 2.0.0) e cercando di ottenere un QWizard a lavorare fuori.
primo problema :
Ho tre QWizardPages nel mio QWizard fino ad ora. Ogni pagina ha una QVBoxLayout applicata come di layout. La mia prima pagina ha molto piccolo contenuto (soli tre linea di QLabel), ma per qualche motivo non v'è un po 'di spazio bianco tra il QLabel e il "
Secondo (e per lo più probabilmente correlati alla prima) problema :
Inoltre, la mia seconda pagina è molto più grande di quanto la mia prima pagina, in modo da quando arrivo alla seconda pagina e tornare alla prima pagina, la prima pagina mantiene la stessa dimensione come la seconda pagina, ma solo dopo che ho hanno visitato il seconda pagina. Questo è un bug?
L'unica geometria impostazione che sto facendo è quando faccio una
move(50, 50);
nel costruttore QWizard. Nessun ridimensiona ... nulla di esplicito. Sto cercando di lasciare che i layout fanno la loro magia.
Grazie per il vostro aiuto in anticipo.
Soluzione
Per risolvere questo problema, ho creato una classe figlia di QWizard e ha creato uno slot privato in questo modo:
void ChildClass::fitContents(int id)
{
adjustSize(); // this automagically resizes the window to fit the contents
}
E reso aveva chiamato ogni volta che la pagina è stata modificata, in questo modo:
connect(this, SIGNAL(currentIdChanged(int)), this, SLOT(fitContents(int)));