QScrollArea 最主要的方法在于setWidget(QWidget *widget)
简单来说就是设置画布的意思,通常我们在使用的时候需要先把需要的控件放到一个画布里。而QScrollArea 就类似于我们拿着一个放大镜去观察这个画布。所以想要出现滚动条,画布的大小一定要比QScrollArea 大!
以下代码示例:

     mainLayout = new QVBoxLayout(this);mainLayout->setContentsMargins(11, 11, 11, 11);scroLLArea = new QScrollArea();QWidget *scrollAreaWidgetContents = new QWidget(); //创建画布QScreen *screen = QGuiApplication::primaryScreen();QRect rect = screen->availableGeometry();//获取当前屏幕像素大小scrollAreaWidgetContents->setFixedWidth(rect.width());scrollAreaWidgetContents->setFixedHeight(rect.height() + 1800); //这里设置画布的高度比实际屏幕要大,方便出现滚动条//创建多个控件int initX = 35;int initY = 0;int fixSpace = 100;int hX = 0;int vY = initY;for (int i = 1; i < 50; i++){if (i % 2 != 0){btnButton = new QPushButton(scrollAreaWidgetContents);btnButton->move(initX, vY);hX = btnButton->x() + btnButton->width() + fixSpace;}else{btnButton = new QPushButton(scrollAreaWidgetContents);btnButton->move(hX, vY);vY += fixSpace;}btnButton->setText(QString::number(i));}scroLLArea->setWidget(scrollAreaWidgetContents); //设置画布mainLayout->addWidget(scroLLArea);    /*在主布局中添加QScrollArea ,这时候因为自动布局的关系,QScrollArea 的大小会与屏幕大小近似。所以它的大小小于画布的大小!*/

最后,我们还可以对滚动条禁用。例如禁用横向滚动条:

    scroLLArea->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);

效果图

QScrollArea qt滚动区域的简单使用相关推荐

  1. Qt滚动区域原理(QAbstractScrollArea)

    Qt滚动区域原理(QAbstractScrollArea) 本文为原创文章,转载请注明出处,或注明转载自"黄邦勇帅(原名:黄勇) 本文出自本人原创著作<Qt5.10 GUI完全参考手册 ...

  2. qt通过代码创建滚动区域,添加滚动区域到窗口

    引言 继承于QWidget创建的项目,要想在QWidget中添加很多子控件,考虑到若是子控件的数目不确定,太多的时候就需要添加滚动条来实现滚动查看,于是可以自定义一个类,在该类中实现滚动区域和滚动窗口 ...

  3. Qt事例: QScrollArea滚动区域

    Qt事例: QScrollArea滚动区域 /******* ChatList.h ******/ #ifndef CHATLIST_H #define CHATLIST_H #include < ...

  4. qt设置滚动区域的滚动条的样式

    引言 当窗口的控件太多,不能一下完全显示,就可以采用滚动区域来添加控件,这样添加的控件,可以通过滑动滚动区域的滚动条来浏览所有的控件.下面就大致记录一下滚动区域的滚动条的样式怎么设置. 实现 直接上设 ...

  5. 【学习笔记】C++ GUI Qt4 第六章 6.4 滚动区域 和 6.5 停靠窗口和工具栏

    文章目录 6.4 滚动区域 6.5 停靠窗口和工具栏 6.4 滚动区域 QScrollArea类提供了一个可以滚动的视口和两个滚动条.如果想给一个窗口部件添加一个滚动条,则可以使用一一个QScroll ...

  6. 原生微信小程序,scroll-view的使用,一屏两个滚动区域,scroll-y(纵向滚动)

    原生微信小程序,scroll-view的使用,一屏两个滚动区域,scroll-y(纵向滚动) 这个会简单很多 结构层 <view class="container">& ...

  7. Qt 2D绘图功能简单总结

    文章目录 Qt 2D绘图功能简单总结 Qt 2D绘图功能简单总结 Qt 的绘图功能非常强大,它可以绘制一切想要的图形,从最简单的一条直线到其他任何复杂的图形,还可以用来绘制文本和图片. Qt的绘图系统 ...

  8. (六)Qt Delgate的使用 简单说明

    (一) Qt Model/View 的简单说明 .预定义模型 (二)使用预定义模型 QstringListModel例子 (三)使用预定义模型QDirModel的例子 (四)Qt实现自定义模型基于QA ...

  9. (一) Qt Model/View 的简单说明

    目录: (一) Qt Model/View 的简单说明 .预定义模型 (二)使用预定义模型 QstringListModel例子 (三)使用预定义模型QDirModel的例子 (四)Qt实现自定义模型 ...

  10. Qt TCP协议 传输简单字符串实例

    TCP协议的程序使用的是客户端/服务器模式,在Qt中提供了QTcpSocket类来编写客户端程序,使用QTcpServer类编写服务器端程序. A 转载:http://mobile.51cto.com ...

最新文章

  1. RH系列linux上编译android2.3(gingerbread)
  2. Struts2漏洞的前因后果
  3. 浏览器时间久了重新登录_以登录为例讲解什么是全面的测试设计
  4. ubuntu启动时自动挂载windows分区
  5. [搜索]Trie树的一种实现
  6. linux libpcap 效率,Linux ubuntu PF_RING+libpcap 极速捕获千兆网数据包,不丢包
  7. html中dir标签的作用是什么意思,htmldir标签是干啥的?dir标签的具体定义和属性介绍...
  8. Excel隐藏的数据处理技巧
  9. codeforces 几道题目
  10. Qt生成的exe中为什么会带有不该有的盾牌?
  11. C++ 指向子类的指针转型为指向父类类型指针之后指向的对象地址不变
  12. 有4件事,我很后悔~
  13. 记录pageHelper分页orderby的坑
  14. 计算机磁盘读取信息,VBA如何获取电脑磁盘信息,这个方法一定要知道
  15. win7旗舰恢复出厂设置_iphone12怎么恢复出厂设置 iphone12还原所有设置方法介绍
  16. vs2005打点不提示
  17. 微信小程序云开发教程-WXML入门-数据绑定
  18. 联通积分兑换的Q币怎么兑换到QQ上
  19. 吉米多维奇数学分析每日一题--习题1382
  20. 淘宝-假货天堂 京东-吹牛大王 苏宁易购-中规中矩

热门文章

  1. 机顶盒安装APK方法
  2. Android视频录制命令screenrecord
  3. 网站为什么要备案?网站备案流程是什么?
  4. android捕获全局异常lin,全局获取 (Activity)Context,实现全局弹出 Dialog
  5. 【ZZULIOJ】1092: 素数表(函数专题)
  6. 夏令营面试常见英文问题回答_回答有关5合1促销的3个常见问题
  7. Python3新特性 类型注解 以及 点点点
  8. 弹簧(压簧)力度计算与设计
  9. ADF11g-041:禁止或允许其它网站添加ADF页面到iframe中
  10. 对于超前,滞后,超前滞后使用范围