理解
QScrollArea 可以分成兩個部分來看
- 上層可以看作一個相框
- 下層可以看作一張相片
流程:
- 創建一張“相片”——QWidget
- 在相片上創建若干“相片內容”——控件
- 創建一個“相框”——QScrollArea
- “相片”放入“相框”用“布局”——QVBoxLayout>
- 將“相片”“相框”整體放到相應的位置——"QScrollArea"使用
代碼
#include <QScrollArea>
QWidget * arWidget = new QWidget; // 創建滾動顯示區域幕布
QVBoxLayout * l = new QVBoxLayout(arWidget); // 創建布局, 用於將控件嵌入幕布中
/* 創建100個測試按鈕
*/
QList<QPushButton*> btnList;
for(int i = 0; i < 100;++i)
{
btnList << new QPushButton(QString("%1").arg(i));
}
/* 將按鈕放入幕布中
*/
for(auto a:btnList)
{
l->addWidget(a);
}
QScrollArea * testar = new QScrollArea; // 創建滾動顯示區域
testar->setAlignment(Qt::AlignRight); // 設置滾動條位置
testar->setWidget(arWidget); // 將設置好的幕布嵌入到滾動顯示區域
QVBoxLayout * layout = new QVBoxLayout(this); // 在主界面創建一個布局
layout->setMargin(0);
layout->addWidget(testar); // 將滾動顯示區域 添加到布局