Qt应用开发(基础篇)——滚屏区域基类 QAbstractScrollArea

 一、前言

         QAbstractScrollArea滚屏区域抽象类继承于QFrameQFrame继承于QWidget是QListview(列表浏览器)、QTableview(表格浏览器)、QTextEdit(文本编辑器)、QTextBrowser(文本浏览器)等所有需要滚屏区域部件的抽象基类。

        框架类QFrame介绍

         QAbstractScrollArea提供了一个中心区域(viewport),该区域的内容可以在这里滚动,提供了垂直和水平滚动条,滚动条可以选择隐藏/显示,窗口会自动扩展/缩小。

 二、QAbstractScrollArea类

1、horizontalScrollBarPolicy

        该属性表示水平滚动条的策略,默认Qt::ScrollBarAsNeeded。

Qt::ScrollBarPolicy horizontalScrollBarPolicy() const
void setHorizontalScrollBarPolicy(Qt::ScrollBarPolicy)

2、verticalScrollBarPolicy

        该属性表示垂直滚动条的策略,默认Qt::ScrollBarAsNeeded。

Qt::ScrollBarPolicy verticalScrollBarPolicy() const
void setVerticalScrollBarPolicy(Qt::ScrollBarPolicy)
标识描述
Qt::ScrollBarAsNeeded内容过大的时候自动显示
Qt::ScrollBarAlwaysOff总是隐藏
Qt::ScrollBarAlwaysOn总是显示,在一些有瞬时滚动条的系统被忽略,比如MAC 10.7

3、sizeAdjustPolicy

        该属性表示当视口(viewport)大小改变时滚动区域大小如何改变的策略,默认不跟随变化。

QAbstractScrollArea::SizeAdjustPolicy sizeAdjustPolicy() const
void setSizeAdjustPolicy(QAbstractScrollArea::SizeAdjustPolicy policy)
标识描述
QAbstractScrollArea::AdjustIgnored滚动区域不随viewport变化调整
QAbstractScrollArea::AdjustToContents滚动区域随viewport变化调整
QAbstractScrollArea::AdjustToContentsOnFirstShow滚动区域将在第一次显示时随viewport变化调整

4、成员函数

1)scrollBarWidget

        使用addScrollBarWidget方法用于在滚动条旁边添加一个小部件,按钮、标签、图片等等。alignment使用Qt::AlignTop或者Qt::AlignBottom则添加到垂直滚动条上下,Qt::AlignLeft或者Qt::AlignRight则添加到水平滚动条左右。部件默认高度和宽度跟滚动条一样,通过设置大小最小高度和宽度改变。

        使用scrollBarWidgets方法获取滚动条部件,上下左右最多四个。

void addScrollBarWidget(QWidget *widget, Qt::Alignment alignment)
QWidgetList scrollBarWidgets(Qt::Alignment alignment)

2)cornerWidget

        获取和设置滚动条之间角落的小部件,默认角落是没有小部件的。

QWidget *cornerWidget() const
void setCornerWidget(QWidget *widget)

 3)horizontalScrollBar

        获取和设置水平滚动条QScrollBar,包含滚动条的范围、值、步长等属性的读取和设置。       滑块类QScrollBar介绍。

QScrollBar *horizontalScrollBar() const
void setHorizontalScrollBar(QScrollBar *scrollBar)

4)verticalScrollBar

        获取和设置垂直滚动条QScrollBar,包含滚动条的范围、值、步长等属性的读取和设置。       滑块类QScrollBar介绍。

QScrollBar *verticalScrollBar() const
void setVerticalScrollBar(QScrollBar *scrollBar)

5)viewport

        获取和设置视口部件。

QWidget *viewport() const
void setViewport(QWidget *widget)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/40228.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java -jar 启动服务后,关闭命令窗口后服务停止

java -jar 启动服务后,关闭命令窗口后服务停止 问题:当我们用java -jar命令启动服务后,只有一直保持Xshell的窗口开启且正常连接服务器时才能访问服务,当关闭命令窗口时,服务会停止运行 解决:使用nohup命…

java之juc二

JMM 请你谈谈对Volatile的理解 Volatile是jvm提供的轻量级的同步机制(和synchronized差不多,但是没有synchronized那么强大) 保证可见性不保证原子性禁止指令重排 什么是JMM JMM:java内存模型,不存在的东西&#…

常用Linux命令

常用Linux命令 1. 基本命令 uname -m 显示机器的处理器架构 uname -r 显示正在使用的内核版本 dmidecode -q 显示硬件系统部件 (SMBIOS / DMI) hdparm -i /dev/hda 罗列一个磁盘的架构特性 hdparm -tT /dev/sda 在磁盘上执行测试性读取操作系统信息 arch 显示机器的处理器架构…

一.RocketMQ概念

RocketMQ概念 1.概念2.应用场景3.MQ的优点和缺点4.常见MQ对比 1.概念 MQ(Message Queue),是一种提供消息队列服务的中间件,也称为消息中间件,是一套提供了消息生产、存储、消费全过程API的软件系统。 RocketMQ是阿里巴巴2016年MQ中间件&…

Error: Couldn‘t find preset “es2015“ relative to directory

vue引入element-ui,运行时报了这个错误 Module build failed: Error: Couldnt find preset "es2015" relative to directory "D:\\360MoveData\\Users\\Administrator\\Desktop\\新建文件夹\\henge-test"at D:\360MoveData\Users\Administrato…

华为云classroom赋能--Devstar使应用开发无需从零开始

华为云DevStar为开发者提供业界主流框架代码初始化能力,通过GUI、API、CLI等多种方式,将按模板生成框架代码的能力推送至用户桌面。同时基于华为云服务资源、成熟的DevOps开发工具链和面向多场景的众多开发模板,提供一站式创建代码仓、自动生…

Windows server 2016如何安装OpenSSH

在 Windows Server 2016 上安装 OpenSSH 需要通过“添加功能和角色”向导来完成。以下是安装 OpenSSH 的步骤: 1.打开 Windows Server 2016 控制面板。 2.点击 "程序",然后选择 "程序和功能"。 3.在左侧菜单中,点击 &…

【golang】数组和切片底层原理

数组类型的值(以下简称数组)的长度是固定的,而切片类型的值(以下简称切片)是可变长的。 数组的长度在声明它的时候就必须给定,并且之后不会再改变。可以说,数组的长度是其类型的一部分。比如&a…

Spring学习笔记之Spring IoC注解式开发

文章目录 声明Bean的注解Component注解Controller注解Service注解Repository Spring注解的使用选择性实例化Bean负责注入的注解ValueAutowired与QuaifierResource 全注解式开发 注解的存在主要是为了简化XML的配置。Spring6倡导全注解开发 注解怎么定义,注解中的属性…

深入探索JavaEE单体架构、微服务架构与云原生架构

课程链接: 链接: https://pan.baidu.com/s/1xSI1ofwYXfqOchfwszCZnA?pwd4s99 提取码: 4s99 复制这段内容后打开百度网盘手机App,操作更方便哦 --来自百度网盘超级会员v4的分享 课程介绍: 🔍【00】模块零:开营直播&a…

ARM-M0内核MCU,内置24bit ADC,采样率4KSPS,传感器、电子秤、体脂秤专用,国产IC

ARM-M0内核MCU 内置24bit ADC ,采样率4KSPS flash 64KB,SRAM 32KB 适用于传感器,电子秤,体脂秤等等

[BitSail] Connector开发详解系列三:SourceReader

更多技术交流、求职机会,欢迎关注字节跳动数据平台微信公众号,回复【1】进入官方交流群 Source Connector 本文将主要介绍负责数据读取的组件SourceReader: SourceReader 每个SourceReader都在独立的线程中执行,只要我们保证Sou…

Jmeter进阶使用:BeanShell实现接口前置和后置操作

一、背景 我们使用Jmeter做压力测试或者接口测试时,除了最简单的直接对接口发起请求,很多时候需要对接口进行一些前置操作:比如提前生成测试数据,以及一些后置操作:比如提取接口响应内容中的某个字段的值。举个最常用…

c语言——拷贝数组

这段代码是一个简单的数组拷贝示例。它的功能是将一个原始数组 original 的内容拷贝到另一个数组 copied 中,并输出两个数组的元素。 代码执行过程如下: 首先,在 main() 函数中定义了一个整型数组 original,并初始化了它的元素。…

【ARM 嵌入式 编译 Makefile 系列 15 - Makefile define 宏与调用宏函数详细介绍】

文章目录 Makefile define 宏与调用宏函数带参数的宏函数带返回值的宏函数Makefile define 宏与调用宏函数 在Makefile中,可以通过define关键字来定义一个多行的宏(也称为变量)。这种宏定义通常用于定义一个复杂的命令序列,然后在其他地方调用。 以下是定义一个宏的例子:…

物联网在制造业中的应用

制造业目前正在经历第四次工业革命,物联网、人工智能和机器人等技术进步正在推动行业的发展。研究表明,到2024年,全球制造商将在物联网解决方案上投资700亿美元,许多制造商正在实施物联网设备,以利用预测性维护和复杂的…

接口测试工具——Postman测试工具 Swagger接口测试+SpringBoot整合 JMeter高并发测试工具

目录 Postman测试工具接口测试工具swaggerKnife4j1.引入依赖2.配置3.常用注解4.接口测试 JMeter什么是JMeter?JMeter安装配置1.官网下载2.下载后解压3.汉语设置 JMeter的使用方法1.新建线程组2.设置参数3.添加取样器4.设置参数:协议,ip,端口…

SDK是什么,SDK和API有什么区别

SDK(Software Development Kit)是一种开发工具包,通常由软件开发公司或平台提供,用于帮助开发人员构建、测试和集成特定平台或软件的应用程序。SDK 包含一系列的库、工具、示例代码和文档,旨在简化开发过程并提供所需的…

基于Mysql+Vue+Django的协同过滤和内容推荐算法的智能音乐推荐系统——深度学习算法应用(含全部工程源码)+数据集

目录 前言总体设计系统整体结构图系统流程图 运行环境Python 环境MySQL环境VUE环境 模块实现1. 数据请求和储存2. 数据处理计算歌曲、歌手、用户相似度计算用户推荐集 3. 数据存储与后台4. 数据展示 系统测试工程源代码下载其它资料下载 前言 本项目以丰富的网易云音乐数据为基…

SQLSERVER 查询语句加with (NOLOCK) 报ORDER BY 报错 除非另外还指定了 TOP、OFFSET 或 FOR XML

最近有一个项目在客户使用时发现死锁问题,用的数据库是SQLSERVER ,死锁的原因是有的客户经常去点报表,报表查询时间又慢,然后又有人在做单导致了死锁,然后主管要我们用SQLSERVER查询时要加with (NOLOCK),但是我在加完 …