2010-11-01 2 views
2

Je suis un débutant Qt. Je veux afficher 2 images côte à côte en utilisant Qt. En utilisant Qt's Image Viewer Example, je veux ajouter un autre scrollable affichage de l'image, de sorte que les deux images sont affichées côte à côte.Affichage des images Côte-à-côte en Qt avec barres de défilement

Le code exemple a cet extrait pour le cteur:

ImageViewer::ImageViewer() 
{ 
    imageLabel = new QLabel; 
    imageLabel->setBackgroundRole(QPalette::Base); 
    imageLabel->setSizePolicy(QSizePolicy::Ignored, QSizePolicy::Ignored); 
    imageLabel->setScaledContents(true); 

    scrollArea = new QScrollArea; 
    scrollArea->setBackgroundRole(QPalette::Dark); 
    scrollArea->setWidget(imageLabel); 
    setCentralWidget(scrollArea); 
    ... 

Si je comprends bien, je veux obtenir imageLabel être seulement la largeur moitié de l'écran, tandis qu'un autre QLabel est affiché sur l'autre moitié.

Comment est-ce que je peux faire ceci?
Merci.

Répondre

3

Si je comprends bien, cela devrait suffire ici:

// Left image 
imageLabelLeft = new QLabel; 
imageLabelLeft->setBackgroundRole(QPalette::Base); 
imageLabelLeft->setSizePolicy(QSizePolicy::Ignored, QSizePolicy::Ignored); 
imageLabelLeft->setScaledContents(true); 

scrollAreaLeft = new QScrollArea; 
scrollAreaLeft->setBackgroundRole(QPalette::Dark); 
scrollAreaLeft->setWidget(imageLabelLeft); 

// Right image 
imageLabelRight = new QLabel; 
imageLabelRight->setBackgroundRole(QPalette::Base); 
imageLabelRight->setSizePolicy(QSizePolicy::Ignored, QSizePolicy::Ignored); 
imageLabelRight->setScaledContents(true); 

scrollAreaRight = new QScrollArea; 
scrollAreaRight->setBackgroundRole(QPalette::Dark); 
scrollAreaRight->setWidget(imageLabelRight); 

// Do the layout 
QWidget *centralWidget = new QWidget; 
QHBoxLayout *layout = new QHBoxLayout(centralWidget); 
layout->addWidget(scrollAreaLeft); 
layout->addWidget(scrollAreaRight); 

setCentralWidget(centralWidget); 
+0

Great! Ça marche. Juste ce que je voulais. J'ai supposé que cela avait quelque chose à voir avec un QHBoxLayout et setCentralWidget(), mais je ne savais pas comment tout assembler. Merci Bjoern. –

Questions connexes