在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添加到窗口的垂直布局管理器中,并顯示窗口。現在,您應該在窗口中看到一個具有滾動條的區域,您可以使用滾動條來查看所有的標簽。