QScrollArea使用笔记(一)
来源:互联网 发布:springboot改端口 编辑:程序博客网 时间:2024/05/17 07:18
做一个MainWindow 时候,根据需要,要求窗体能够局部滚动。于是想到了QScrollArea的使用.
首先我是基于UI的MainWindow。所以首先在自己想要滚动的区域拖一个ScrollArea 控件,到想要放到的地方。
这是你会发现在designer的右侧边栏里多了这样的结构(发不上图片??)
scrollArea
----scrollWidget(变量名字我修改的,原始不是这个)
其中的会自动的增加一个scrollWidget这个就是真正要滚动的区域。
这样就可以使用了滚动了,但是如果仅仅这样,还不能够滚动。
因为scrollarea只有在窗体内容超出窗体范围时候才会滚动。然而不幸的是,如果你使用了布局管理器,像下面这样:
QVBoxLayout *layout = new QVBoxLayout(this); for(int i =0;i<200;i++) { layout->addWidget(new QLabel(tr("hello world"))); }ui->scrollWidget->setLayout(layout);你会发现永远不会滚动。这时因为布局管理器QVBoxLayout,根据其setLayout到的窗口的当前大小分配空间给其中的每一个控件。所以你将看到的是一堆挤在一起的Label。
如何才能滚动呢,通过上面的解释我们得到这样的结论。既然layout是根据被set到的窗口的当前大小分配给每一个控件空间的,那么我们只要改变当前scrollArea的widget的size,使size成为我们需要的尺寸(其大小应该超出了当前窗口的客户区的大小,不然为什么还需要滚动呢),而QScrollArea在超出当前窗口的大小之后,就展现出滚动效果了。
于是我调用scrollWidget的成员函数:
ui->scrollWidget->setMinimumSize(1000,3000);
这样可以看到,在红线标注的区域,也是就ScrollArea放置的区域已经局部实现了滚动了。(上不了图片。。。)
文笔不行,见谅,这只是我个人见解,如果偏差谢谢指正.
0 0
- QScrollArea使用笔记(一)
- 关于QscrollArea的使用
- 关于QscrollArea的使用
- 关于QscrollArea的使用
- 关于QscrollArea的使用
- QScrollArea
- QScrollArea
- Qt中QScrollArea的使用
- QScrollArea使用的小问题
- Qt 设计师中使用QScrollArea控件
- 给QWidget添加滚动条(QScrollArea)
- MapServer使用笔记(一)
- CodeDom使用笔记(一)
- XMLPullParser使用笔记(一)
- FusionCharts 使用笔记(一)
- CocoStudio使用笔记(一)
- GitHub使用笔记(一)
- OllyDbg 使用笔记 (一)
- 机器学习--分类算法(一)决策树
- epoll中读写数据 的注意事项
- 给技术人上的管理课:激励与授权
- java使用swig调用链接库
- C++实现RTMP协议发送H.264编码及AAC编码的音视频
- QScrollArea使用笔记(一)
- 在MAC/LINUX下搭建ADB
- 解决set_unexpected不起作用的问题
- android sdk 自带的非空非空串判断方法
- 特征化量化规则和类比较量化规则
- Linux下C/C++编程入门----Linux安装教程
- 统计学
- 程序调试
- Spring事务异常回滚,捕获异常不抛出就不会回滚