QScrollArea qt滚动区域的简单使用
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滚动区域的简单使用相关推荐
- Qt滚动区域原理(QAbstractScrollArea)
Qt滚动区域原理(QAbstractScrollArea) 本文为原创文章,转载请注明出处,或注明转载自"黄邦勇帅(原名:黄勇) 本文出自本人原创著作<Qt5.10 GUI完全参考手册 ...
- qt通过代码创建滚动区域,添加滚动区域到窗口
引言 继承于QWidget创建的项目,要想在QWidget中添加很多子控件,考虑到若是子控件的数目不确定,太多的时候就需要添加滚动条来实现滚动查看,于是可以自定义一个类,在该类中实现滚动区域和滚动窗口 ...
- Qt事例: QScrollArea滚动区域
Qt事例: QScrollArea滚动区域 /******* ChatList.h ******/ #ifndef CHATLIST_H #define CHATLIST_H #include < ...
- qt设置滚动区域的滚动条的样式
引言 当窗口的控件太多,不能一下完全显示,就可以采用滚动区域来添加控件,这样添加的控件,可以通过滑动滚动区域的滚动条来浏览所有的控件.下面就大致记录一下滚动区域的滚动条的样式怎么设置. 实现 直接上设 ...
- 【学习笔记】C++ GUI Qt4 第六章 6.4 滚动区域 和 6.5 停靠窗口和工具栏
文章目录 6.4 滚动区域 6.5 停靠窗口和工具栏 6.4 滚动区域 QScrollArea类提供了一个可以滚动的视口和两个滚动条.如果想给一个窗口部件添加一个滚动条,则可以使用一一个QScroll ...
- 原生微信小程序,scroll-view的使用,一屏两个滚动区域,scroll-y(纵向滚动)
原生微信小程序,scroll-view的使用,一屏两个滚动区域,scroll-y(纵向滚动) 这个会简单很多 结构层 <view class="container">& ...
- Qt 2D绘图功能简单总结
文章目录 Qt 2D绘图功能简单总结 Qt 2D绘图功能简单总结 Qt 的绘图功能非常强大,它可以绘制一切想要的图形,从最简单的一条直线到其他任何复杂的图形,还可以用来绘制文本和图片. Qt的绘图系统 ...
- (六)Qt Delgate的使用 简单说明
(一) Qt Model/View 的简单说明 .预定义模型 (二)使用预定义模型 QstringListModel例子 (三)使用预定义模型QDirModel的例子 (四)Qt实现自定义模型基于QA ...
- (一) Qt Model/View 的简单说明
目录: (一) Qt Model/View 的简单说明 .预定义模型 (二)使用预定义模型 QstringListModel例子 (三)使用预定义模型QDirModel的例子 (四)Qt实现自定义模型 ...
- Qt TCP协议 传输简单字符串实例
TCP协议的程序使用的是客户端/服务器模式,在Qt中提供了QTcpSocket类来编写客户端程序,使用QTcpServer类编写服务器端程序. A 转载:http://mobile.51cto.com ...
最新文章
- RH系列linux上编译android2.3(gingerbread)
- Struts2漏洞的前因后果
- 浏览器时间久了重新登录_以登录为例讲解什么是全面的测试设计
- ubuntu启动时自动挂载windows分区
- [搜索]Trie树的一种实现
- linux libpcap 效率,Linux ubuntu PF_RING+libpcap 极速捕获千兆网数据包,不丢包
- html中dir标签的作用是什么意思,htmldir标签是干啥的?dir标签的具体定义和属性介绍...
- Excel隐藏的数据处理技巧
- codeforces 几道题目
- Qt生成的exe中为什么会带有不该有的盾牌?
- C++ 指向子类的指针转型为指向父类类型指针之后指向的对象地址不变
- 有4件事,我很后悔~
- 记录pageHelper分页orderby的坑
- 计算机磁盘读取信息,VBA如何获取电脑磁盘信息,这个方法一定要知道
- win7旗舰恢复出厂设置_iphone12怎么恢复出厂设置 iphone12还原所有设置方法介绍
- vs2005打点不提示
- 微信小程序云开发教程-WXML入门-数据绑定
- 联通积分兑换的Q币怎么兑换到QQ上
- 吉米多维奇数学分析每日一题--习题1382
- 淘宝-假货天堂 京东-吹牛大王 苏宁易购-中规中矩