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

news2024/11/27 18:42:10

 一、前言

         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.coloradmin.cn/o/875490.html

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

相关文章

高忆管理:概念火认购却不火!ESG理财如何打破僵局?

曾几何时,国内ESG理财曾被贴上“小众”标签,现在,跟着ESG理念的遍及与深化群众,这一“小众”的出资理念正在走向“群众”。 有银行理财子公司人士向证券时报券商我国记者表示,从组织视点来看,以债券类为主的…

【AI作画】使用Stable Diffusion的艺术二维码完全生成攻略

文章目录 前言Stable Diffusion 简介 什么是云端平台?优势灵活性和可扩展性成本效益高可用性和容错性管理简便性 选择适合的云端平台 平台优势平台操作购买算力并创建工作空间启动工作空间应用市场一键安装 使用Stable-Diffusion作图使用控制网络将文本转图像二维码…

windows pip安装出现 error: Microsoft Visual C++ 14.0 is required

可参考:如何解决 Microsoft Visual C 14.0 or greater is required. Get it with “Microsoft C Build Tools“_不吃香菜的小趴菜的博客-CSDN博客 一、安装Visual Studio2022 1、下载:下载 Visual Studio Tools - 免费安装 Windows、Mac、Linux 我这使…

【前端|Javascript第4篇】详解Javascript的事件模型:小白也能轻松搞懂!

前言 在当今数字时代,前端技术正日益成为塑造用户体验的关键。而其中一个不可或缺的核心概念就是JavaScript的事件模型。或许你是刚踏入前端领域的小白,或者是希望深入了解事件模型的开发者,不论你的经验如何,本篇博客都将带你揭开…

iTOP-STM32MP157开发板Linux Misc驱动编写实验程序(运行测试)

启动 STM32MP157 开发板,我们通过 nfs 挂载共享文件目录,我们进入到共享目录,加载驱动模块如 图所示: insmod misc.ko 驱动加载成功后,输入以下命令,查看注册的设备节点是否存在,如下图所示&a…

NSI45030AT1G LED驱动器方案为汽车外部及内部照明恒流稳流器(CCR)方案

关于线性恒流调节器(CCR):是一种用于控制电流的稳定输出。它通常由一个功率晶体管和一个参考电流源组成。CCR的工作原理是通过不断调节功率晶体管的导通时间来维持输出电流的恒定。当输出电流超过设定值时,CCR会减少功率晶体管的导…

激战本地生活:抖音美团打得火热,小红书也来“搅局”?怎么开通小红书本地生活服务商呢?

小红书也来本地生活赛道“横插一脚”了。 上线面向本地生活的交易合作服务平台、推出面向达人的探店内容扶持计划、“0押金、0佣金、流量扶持” 激励更多商家入场......在已经硝烟弥漫的申请cmxyci本地生活赛道,小红书开始放大招。 据了解,小红书是在今年…

sift-1M数据集的读取及ES插入数据

sift是检查ann近邻召回率的标准数据集,ann可以选择faiss,milvus等库或者方法;sift数据分为query和base,以及label(groundtruth)数据。本文采用sift-1M进行解读,且看如下: 1、sift-1m数据集 官方链接地址:Evaluation of Approximate nearest neighbors: large datase…

嵌入式微控制器架构为AI演进

如果您将IoT与AI相结合会得到什么?AIoT是简单的答案,但由于神经网络技术的进步,使机器学习不再局限于超级计算机的世界,因此您还将获得嵌入式微控制器的巨大新应用领域。如今,智能手机应用处理器可以(并且确…

UML 类图的画法

1.类图的画法 类 整体是个矩形,第一层类名,第二层属性,第三层方法。 :public- : private# : protected空格: 默认的default 对应的类写法。 public class Student {public String name;public Integer age;protected I…

kubernetes集群(k8s)之安装部署Calico 网络

目录 安装部署Calico 网络 (一)环境准备 (二)部署docker环境 (三)部署kubernetes集群 (四)部署Calico网络插件 安装部署Calico 网络 (一)环境准备 IP地…

混淆矩阵、F1score详解

混淆矩阵(Confusion Matrix) TP(True Positives):真正例,预测为正例而且实际上也是正例; FP(False Positives):假正例,预测为正例然而实际上却是负例; FN&…

九五从零开始的运维之路(其三十一)

文章目录 前言一、什么是计划任务1.一次性任务2.周期性任务(一)在/etc/crontab文件中写入计划任务(二)使用crontab命令编辑计划任务 二、用户提权1.什么是用户提权2.su与su -3.sudo提权 总结 前言 本篇将简述的内容:L…

1+X 综合布线系统安装与维护职业技能等级证书实训室建设方案

一、1X 综合布线系统安装与维护职业技能等级证书建设方案系统概述 "1X 综合布线系统安装与维护职业技能等级证书系统"是中国职业教育改革的一项举措,旨在为综合布线系统安装与维护领域的从业人员提供职业技能评价和认证的体系。 该证书系统采用了"…

浪涌保护器中SPD防雷模块的主要应用方案

浪涌保护器(Surge Protective Device,SPD)是一种用于限制瞬态过电压和导引泄放电涌电流的非线性防护器件,用以保护耐压水平低的电器或电子系统免遭雷击及雷击电磁脉冲或操作过电压的损害。SPD可以将过电压泄放到地线或限制过电压到…

如何高效地进行事件降噪

在事件处理方面,一般我们会遇到两个痛点,一个是告警事件太多,被过度打扰,另一个是重要告警疏漏,无法闭环处理。 告警太多的常见原因 最常见的原因,是告警规则设置得不合理。比如很多规则触发了告警之后&a…

5.内置构造函数

在JavaScript中最主要的数据类型有6种: 1.基本数据类型: 字符串、数值、布尔、undefined、 null 2.引用类型:对象 但是,我们会发现有些特殊情况: //普通字符串 const str andy console.1og(str.length) // 4其实字符串、数值、布尔、等基本类型也都有…

【MySQL--->表的操作】

文章目录 [TOC](文章目录) 一、创建表二、查看表三、修改表四、删除表drop table 表名; ![在这里插入图片描述](https://img-blog.csdnimg.cn/15227b8335364d41bd01b4b4dd83ee55.png) 一、创建表 语句格式:create table 表名(列名 类型,…)字符集 校验规则 存储引擎;字符集和校…

一盏茶的时间,带你轻松上手Pinia

🎬 岸边的风:个人主页 🔥 个人专栏 :《 VUE 》 《 javaScript 》 ⛺️ 生活的理想,就是为了理想的生活 ! 目录 📚 前言 📘 创建 Pinia 📘 Option Store 📘 Pinia 提供多种选项配…

JavaEE——网络编程(UDP套接字编程)

文章目录 一、简单理解Socket 套接字二、UDP 数据报套接字编程三、编写简单的 UDP 版本服务器客户端1. 编写 UDP 版本的回显服务器回显服务器整体代码罗列 2. 编写 UDP 版本的回显客户端回显客户端整体代码罗列 四、总结与代码运行结果解释 一、简单理解Socket 套接字 概念&am…