三代码使用QScrollArea
QScrollArea是QT封装好的一个滑动界面类
构造函数如下:

指定一个父对象就行,构造函数提供一个滑动的区域,但是这个区域里是没有内容的,构造函数介绍里面让我们看setWidget()这个函数,该函数添加滑动的widget,我们其他的小控件放到这个滑动widget上

这里有个一定要注意的点,一定要先给widget添加布局后再调用setWidget(),不然啥也显示不了
示例代码如下:
#include "widget.h"
#include "ui_widget.h" #include <QScrollArea>
#include <QWidget>
#include <QGridLayout>
#include <QPushButton> Widget::Widget(QWidget *parent)
: QWidget(parent)
, ui(new Ui::Widget)
{
ui->setupUi(this);
this->resize(800,600);
QScrollArea *scrollArea = new QScrollArea(this);
scrollArea->resize(800,600);
QWidget *widget = new QWidget;
QGridLayout *layout = new QGridLayout(widget); for(int i = 0; i < 200; ++i)
{
QPushButton *btn = new QPushButton(QString("按键%1").arg(i),widget);
btn->setMinimumSize(200, 200);
layout->addWidget(btn, i / 2, i % 2);
}
scrollArea->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
scrollArea->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
scrollArea->setWidget(widget);
}
scrollArea->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
scrollArea->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
是隐藏其水平和垂直滚动条,参数如下

最终的效果:

使用鼠标滚轮即可上下滑动
三代码使用QScrollArea的更多相关文章
- 作业三: 代码规范、代码复审、PSP
分) 对于是否需要有代码规范,请考虑下列论点并反驳/支持: 这些规范都是官僚制度下产生的浪费大家的编程时间.影响人们开发效率, 浪费时间的东西. 我是个艺术家,手艺人,我有自己的规范和原则. 规范不能 ...
- 作业三 代码规范 代码复审 PSP
1.是否需要有代码规范(5分) 对于是否需要有代码规范,请考虑下列论点并反驳/支持: 1这些规范都是官僚制度下产生的浪费大家的编程时间.影响人们开发效率, 浪费时间的东西. 反对.我并不认为代码规范都 ...
- 技术总结--android篇(三)--代码规格和编码规范
命名规则 变量名: 1)尽量要取有意义的名字,比方说:一个用户名的成员变量.应该写成username.而不要仅仅写个string: 2)假设是常量.既在编码过程中.这个值是不会改变的,应该写成大写的名 ...
- ASP.NET动态加载Js代码到Head标签中(三种方法)
方法一代码如下: HtmlGenericControl Include2 = new HtmlGenericControl("script"); Include2.Attribut ...
- CWMP开源代码研究4——认证流程
TR069 Http Digest 认证流程 一 流程及流程图 1.1盒端主动发起Http Digest认证流程 盒端CPE ...
- CWMP开源代码研究2——easycwmp安装和学习
声明:本文是对开源程序代码学习和研究,严禁用于商业目的. 如有任何问题,欢迎和我交流.(企鹅号:408797506) 本文所有笔记和代码可以到csdn下载:http://download.csdn.n ...
- 代码规范、代码复审、PSP
作业三: 代码规范.代码复审.PSP 代码规范 代码规范的重要性 一.规范的代码可以促进团队合作 一个项目大多都是由一个团队来完成,如果没有统一的代码规范,那么每个人的代码必定会风格迥异.且不说会存 ...
- 排序算法总结(三)选择排序【Select Sort】
一.原理 选择排序的原理非常简单,就是选出最小(大)的数放在第一位,在剩下的数中,选出最小(大)的数,放在第二位......重复上述步骤,直到最后一个数. 二.过程 原始数据 第一次排序,选出最小的数 ...
- C# 远程网络唤醒介绍及代码
一.定义 网络唤醒:唤醒休眠状态下的计算机,而不是已关机的计算机. 优势:可通过定时功能实现自动唤醒计算机,减少人力使用. 实现方法:通过被唤醒机的MAC地址进行广播发送请求,唤醒计算机. 二.硬件设 ...
随机推荐
- 【Mysql】数据库索引,百万数据测试索引效果
Mysql官方对索引的定义是:索引(index)是帮助Mysql高效获取数据的数据结构.进而,我们可以知道索引的本质是数据结构. 一.索引的分类 主键索引:也就是我们常见的 PRIMARY KEY,只 ...
- [Linux-网络性能测试] -- netperf测试
[Linux-网络性能测试] -- netperf测试 2017.01.17 14:15:54字数 1599阅读 4400 简述 Netperf是一种网络性能的测量工具(由惠普公司开发的,测试网络栈. ...
- 第3期:Too many open files以及ulimit的探讨
第3期:Too many open files以及ulimit的探讨 毛帅 Java.AI.互联网.金融 10 人赞同了该文章 Too many open files是Java常见的异常,通常是由于系 ...
- /var/log/syslog日志usb接口
p:~# cat /proc/bus/input/devices |grep usbP: Phys=usb-0000:00:05.1-1/buttonS: Sysfs=/devices/pci0000 ...
- WordPress的config.php不小心删掉
[原文件] <?php /** * WordPress基础配置文件. * * 这个文件被安装程序用于自动生成wp-config.php配置文件, * 您可以不使用网站,您需要手动复制这个文件, ...
- Kubernetes 部署微服务电商平台(16)
一.概念 微服务就是很小的服务,小到一个服务只对应一个单一的功能,只做一件事.这个服务可以单独部署运行,服务之间可以通过RPC来相互交互,每个微服务都是由独立的小团队开发,测试,部署,上线,负责它的整 ...
- ioctl 函数的FIOREAD参数
在学习ioctl 时常常跟 read, write 混淆.其实 ioctl 是用来设置硬件控制寄存器,或者读取硬件状态寄存器的数值之类的. 而read,write 是把数据丢入缓冲区,硬件的驱动从缓冲 ...
- pika详解(三)SelectConnection及其他Connection
pika详解(三)SelectConnection及其他Connection 本文链接:https://blog.csdn.net/comprel/article/details/94661147 ...
- Git如何下载clone指定的tag
Git如何下载clone指定的tag 如上图,我想下载Tags标签为solution-4 的代码,如何处理呢? 命令如下: git clone --branch solution-4 git@gith ...
- TVM性能评估分析(七)
TVM性能评估分析(七) Figure 1. Performance Improvement Figure 2. Depthwise convolution Figure 3. Data Fus ...