QWidget当页面大小不够时,如何添加滚动条,请给出示例代码
时间: 2023-05-21 07:02:06 浏览: 91
可以使用QScrollArea来实现QWidget的滚动条功能,示例代码如下:
```cpp
#include <QtWidgets>
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
QWidget *widget = new QWidget;
QVBoxLayout *layout = new QVBoxLayout(widget);
// 添加一些内容,使页面大小超出widget的大小
for (int i = 0; i < 20; i++) {
QLabel *label = new QLabel(QString("Label %1").arg(i + 1));
layout->addWidget(label);
}
QScrollArea *scrollArea = new QScrollArea;
scrollArea->setWidgetResizable(true); // 设置滚动区域自适应大小
scrollArea->setWidget(widget); // 设置滚动区域的内容为widget
QMainWindow mainWindow;
mainWindow.setCentralWidget(scrollArea); // 将滚动区域设置为主窗口的中心部件
mainWindow.show();
return app.exec();
}
```
在上面的示例代码中,我们创建了一个QWidget,并向其中添加了一些内容,使页面大小超出了widget的大小。然后,我们创建了一个QScrollArea,并将其设置为可自适应大小,将QWidget设置为其内容,最后将QScrollArea设置为主窗口的中心部件。这样,当QWidget的大小不够时,QScrollArea就会自动添加滚动条,使用户可以滚动查看所有内容。
阅读全文