理解
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); // 将滚动显示区域 添加到布局
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步