使用滚动条在Qt中并排显示图像

Adi*_*vit 3 qt

我是Qt新手.我想用Qt并排显示2张图像.使用Qt的图像查看器示例,我想添加另一个可滚动的图像显示,以便两个图像并排显示.

示例代码为ctor提供了以下代码段:

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);
   ...
Run Code Online (Sandbox Code Playgroud)

如果我理解正确,我希望imageLabel只有一半宽度的屏幕,而另一半显示另一个QLabel.

我怎样才能做到这一点?
谢谢.

小智 5

如果我理解正确,这里就足够了:

// 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);
Run Code Online (Sandbox Code Playgroud)