Comment définir une taille initiale de un QScrollArea?

Je sais que c'est un très spécifique en C++ et Qt liés à la question, mais peut-être que quelqu'un peut m'aider, de toute façon ...

Voir le code ci-dessous: je veux afficher une image dans une zone de défilement. Le port de la vue de la zone de défilement ont une taille initiale. Cela signifie que, si la taille de votre image est plus grande que la taille initiale de la fenêtre d'affichage, barres de défilement sera visible, pas autrement.

//create label for displaying an image
QImage image( ":/test.png" );
QLabel *label = new QLabel( this );
label->setPixmap( image.toPixmap() );

//put label into scroll area
QScollArea *area = new QScrollArea( this );
area->setWidget( label );

//set the initial size of the view port
//NOTE: This is what I'd like to do, but this method does not exist :(
area->setViewPortSize( QSize( 300, 300 ) );

Il doit être possible de redimensionner l'ensemble de l'application, de sorte que le port de la vue obtiendrez une autre taille que la première.

Malheureusement je n'étais pas en mesure de savoir, comment définir la taille de la fenêtre d'affichage. Qt présentation du mécanisme semble définir une taille par défaut pour le port de la vue, mais jusqu'à maintenant je n'étais pas en mesure de le changer. Définition d'une nouvelle taille avec

area->setMinimumSize( QSize( 300, 300 ) );

sera effectivement donné le montant demandé, mais alors la zone de défilement perd sa capacité à obtenir redimensionnées à une taille plus petite que 300x300.

Des idées?

OriginalL'auteur Thomas Koschel | 2008-10-27