有些时候,我们界面能展示的区域被限定的很小,但是需要展现的控件、内容却很多,在限定大小的区域中无法全部显示。这个时候就需要滚动条了。在Qt中有一个很好的类 QScrollArea
。
有两种方式可是实现滚动区域:
第一种直接用 Qt Designer 去设计ui文件:
拖入QScrollArea然后进行布局即可。
第二种是代码实现:
QLabel *imageLabel = new QLabel(this);
QPixmap pixmap(":/Images/head");
pixmap = pixmap.scaled(200, 200, Qt::KeepAspectRatio); // 图片缩放
imageLabel->setPixmap(pixmap);
imageLabel->setStyleSheet("background: white;"); // 标签白色背景
imageLabel->setAlignment(Qt::AlignCenter); // 图片居中
QScrollArea *scrollArea = new QScrollArea(this);
scrollArea->setBackgroundRole(QPalette::Dark); // 背景色
scrollArea->setWidget(imageLabel);
scrollArea->setAlignment(Qt::AlignCenter); // 居中对齐