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 QScrollArea_第1张图片

 源码:

    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,c++,QScrollArea,滚动条)