qt

qt当前窗口如何添加滚动条

小亿
540
2024-06-11 13:50:39
栏目: 编程语言

在Qt中,可以使用QScrollArea类来添加滚动条到当前窗口。以下是一个简单的示例代码,演示如何在当前窗口中添加一个具有滚动条的QWidget:

#include <QtWidgets>

int main(int argc, char *argv[])
{
    QApplication app(argc, argv);

    // 创建一个QWidget作为窗口
    QWidget window;
    window.setWindowTitle("Scrollable Window");

    // 创建一个QScrollArea并设置其大小
    QScrollArea scrollArea;
    scrollArea.setWidgetResizable(true); // 设置为自动调整大小
    scrollArea.setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOn); // 始终显示垂直滚动条

    // 创建一个QWidget作为QScrollArea的子控件
    QWidget *contentWidget = new QWidget;
    QVBoxLayout *layout = new QVBoxLayout(contentWidget);
    for (int i = 0; i < 20; ++i) {
        QLabel *label = new QLabel(QString("Label %1").arg(i + 1));
        layout->addWidget(label);
    }

    // 将contentWidget添加到scrollArea中
    scrollArea.setWidget(contentWidget);

    // 创建一个垂直布局管理器并将scrollArea添加到窗口中
    QVBoxLayout *mainLayout = new QVBoxLayout(&window);
    mainLayout->addWidget(&scrollArea);

    window.show();

    return app.exec();
}

在这个示例中,我们创建了一个QScrollArea和一个QWidget作为窗口的子控件。然后我们将多个标签添加到QWidget中,这些标签将会占用超过窗口大小,导致窗口内出现滚动条。最后,我们将QScrollArea添加到窗口的垂直布局管理器中,并显示窗口。现在,您应该在窗口中看到一个具有滚动条的区域,您可以使用滚动条来查看所有的标签。

0
看了该问题的人还看了