Je sais que c'est une question très spécifique liée à C++ et Qt, mais peut-être que quelqu'un peut m'aider, de toute façon ...Comment définir la taille initiale d'un QScrollArea?
Voir le code ci-dessous: Je veux afficher une image dans une zone de défilement. Le port d'affichage de la zone de défilement doit avoir une taille initiale définie. Cela signifie que si la taille de l'image est supérieure à la taille initiale du port d'affichage, les barres de défilement seront visibles, sinon, elles ne le seront pas.
// 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 est possible de redimensionner l'ensemble de l'application de sorte que le port de vue aura une autre taille que celle initiale. Malheureusement, je n'ai pas été en mesure de savoir comment définir la taille du port de vue. Le mécanisme de mise en page de Qt semble définir une taille par défaut pour le port d'affichage, mais jusqu'à présent, je n'ai pas été capable de le changer. Définition d'une nouvelle taille avec
area->setMinimumSize(QSize(300, 300));
va mettre effectivement la taille demandée, mais la zone de défilement desserre la possibilité de se redimensionnées à une taille plus petite que 300x300.
Des idées?