#include#include #include #include #include #include int main(int argc, char *argv[]) { QApplication app(argc, argv); QImage image("path/to/image.png"); QLabel *imageLabel = new QLabel(); imageLabel->setPixmap(QPixmap::fromImage(image)); QScrollArea *scrollArea = new QScrollArea(); scrollArea->setWidget(imageLabel); QWidget container; container.setFixedSize(500, 400); scrollArea->setGeometry(50, 50, 400, 300); scrollArea->setVerticalScrollBarPolicy(Qt::ScrollBarAsNeeded); scrollArea->setHorizontalScrollBarPolicy(Qt::ScrollBarAsNeeded); scrollArea->setWidgetResizable(true); container.show(); return app.exec(); }
#includeThis example demonstrates how to add a large number of widgets to a QScrollArea. In this example, 100 QLabel widgets are added to a QWidget, which is then set as the widget for the QScrollArea. The QScrollArea is then placed in a QWidget container and displayed. Package library: Qt#include #include #include #include int main(int argc, char *argv[]) { QApplication app(argc, argv); QWidget *container = new QWidget(); container->setFixedSize(400, 300); QScrollArea *scrollArea = new QScrollArea(); scrollArea->setWidgetResizable(true); container->setLayout(new QVBoxLayout); container->layout()->addWidget(scrollArea); QWidget *scrollAreaWidget = new QWidget(); scrollAreaWidget->setLayout(new QVBoxLayout()); for (int i = 0; i < 100; i++) { QLabel *label = new QLabel(QString("Label %1").arg(i)); scrollAreaWidget->layout()->addWidget(label); } scrollArea->setWidget(scrollAreaWidget); container->show(); return app.exec(); }