Qt入门|Qt QScrollArea

1.简介
QScrollArea类提供了滚动视图。滚动区域用于显示框架内子部件的内容。如果小部件超过了框架的大小,视图可以提供滚动条,以便可以查看子小部件的整个区域。子部件必须用setWidget()指定。
简单使用:

QLabel *imageLabel = new QLabel; QImage image("C:\\Users\\Desktop\\image\\1.webp"); imageLabel->setPixmap(QPixmap::fromImage(image)); QScrollArea *scrollArea = new QScrollArea; scrollArea->setBackgroundRole(QPalette::Dark); scrollArea->setWidget(imageLabel); ui->verticalLayout->addWidget(scrollArea);


2.常用方法
QWidget *widget() const 获取滚动区域的部件
QWidget *takeWidget() 移除滚动区域的小部件,并将小部件的所有权传递给调用者。
void ensureVisible(int x, int y, int xmargin = 50, int ymargin = 50) 确保视口中的一定区域内容是可见
void setAlignment(Qt::Alignment) 设置对齐方式
3.示例
Qt入门|Qt QScrollArea
文章图片

源码:
QScrollArea *scrollArea = new QScrollArea;
scrollArea->setBackgroundRole(QPalette::Dark); //设置背景色

QWidget *widget = new QWidget;
QVBoxLayout *layout = new QVBoxLayout; //设置垂直布局
widget->setLayout(layout);
QTextEdit *t1 = new QTextEdit(widget);
QTextEdit *t2 = new QTextEdit(widget);
QTextEdit *t3 = new QTextEdit(widget);
t1->setPlaceholderText("t1");
t2->setPlaceholderText("t2");
t3->setPlaceholderText("t3");
t1->setFixedHeight(300); //设置固定高
t2->setFixedHeight(300);
t3->setFixedHeight(300);
layout->addWidget(t1);
layout->addWidget(t2);
layout->addWidget(t3);

scrollArea->setWidget(widget);
ui->verticalLayout->addWidget(scrollArea);
【Qt入门|Qt QScrollArea】

    推荐阅读