qt开发-12_QScrollArea

在 Qt 中,QScrollArea 是用于显示可以滚动内容的控件,通常用于处理视图中内容超出可见区域的情况。它提供了一种在有限的视窗内显示大量内容的解决方案,如显示大图像、长文本、多个小部件等。

常用方法和属性

  • setWidget(QWidget *widget)

    • 设置视口小部件,这是 QScrollArea 中显示的实际内容。
  • setWidgetResizable(bool resizable)

    • 设置是否自动调整视口小部件的大小以适应 QScrollArea 的大小变化。
  • verticalScrollBar() 和 horizontalScrollBar()

    • 返回垂直和水平滚动条的实例,可以通过这些方法来调整滚动条的属性和行为。
  • setStyleSheet(const QString &styleSheet)

    • 设置样式表,可以用来自定义 QScrollArea 的外观,包括滚动条的样式和背景等。

使用场景

QScrollArea 在以下场景特别有用:

  • 显示大图像:允许用户在有限的窗口大小内查看整个大图像。

  • 长文本显示:用于显示超出单个窗口的长文本,如日志文件或者长文章。

  • 多个小部件:组合多个小部件以创建一个复杂的用户界面,使得用户可以在有限空间内查看和操作多个部件。

通过 QScrollArea,开发者可以提供更好的用户体验,确保所有内容都能够被用户访问到,而不会被限制在固定的窗口大小内。

在创建好工程后,我们进入 ui 界面,我们到左边的控件栏找到  scroll area:

这个就是做可以拖动的滚动视图的效果。

把他放进界面里,把他拖动和窗口一样高, 我这里是 600。

我们调节一下这个滚动面板的长度,让他有滚动条,我们选中:

改一下他的长度和高度:

我们就只设置高度了:

现在的颜色还和背景一样我们改一下样式表,设置白色:

background-color: #ffffff

这个拖动条有点太细了,我们给他加粗一点,直接右击改变样式表:

QScrollBar:vertical{width: 20px;background: white;
}

我们改成圆角灰色的,就像我们页面右边的那个样子:

QScrollBar::handle:vertical{background:rgba(200,200,200,30%);min-width:20px;border-radius:10px
}

这个上箭头和下箭头太碍事了,我们给他去掉:

QScrollBar::add-line:vertical{
width:0px;
height:0px;
}
QScrollBar::sub-line:vertical{
width:0px;
height:0px;
}

看看效果:

嗯,差不多是这样,但是还没有点击反馈,放上去要变色:

QScrollBar::handle::hover{
background:rgba(200,200,200,70%);
}

这样放上去就能变色了。

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

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

相关文章

泰勒斯威夫特2022年纽约大学毕业典礼演讲:NYU‘s 2022 Commencement Speaker Taylor Swift

NYU’s 2022 Commencement Speaker Taylor Swift Link: https://www.youtube.com/watch?vOBG50aoUwlI Singer, songwriter, producer, and director Taylor Swift received a Doctor of Fine Arts, honoris causa, at the Commencement for the Class of 2022 and delivered …

RecyclerVIew->加速再减速的RecyclerVIew平滑对齐工具类SnapHelper

XML文件 ItemView的XML文件R.layout.shape_item_view <?xml version"1.0" encoding"utf-8"?> <FrameLayout xmlns:android"http://schemas.android.com/apk/res/android"android:layout_width"100dp"android:layout_heig…

一加12搞机(kernelsu+lsposed)

刷机 温馨提示&#xff1a;如果你不知道root的意义在哪&#xff0c;建议不要解锁和root&#xff0c;到时候救砖或者回锁都挺麻烦。 刷全量包 最新版的系统没有更新推送&#xff0c;所以去一加社区[0]找了个全量包来刷&#xff0c;。安装方式可以看帖子里的内容&#xff0c;说…

NodeJs 速通

前言&#xff1a;参考 Node.js 中文网&#xff0c;可以通过 Node.Js V19 API 文档查看常用 API 。 番外 番外知识点&#xff0c;多学点总没坏处 &#x1f600;&#x1f600;&#x1f600;。 1. 计算机的基本组成 计算机由 CUP、内存、硬盘、显卡、主板、散热器 等组成。 1…

力扣-滑动窗口

文章目录 滑动窗口题目1-无重复字符的最长子串题目2-找到字符串中所有字母异位词 滑动窗口 滑动窗口是一种常用的算法技巧&#xff0c;适用于需要在一个数组或字符串中找出满足特定条件的连续子数组或子字符串的问题。它通过维护一个窗口范围来减少重复计算&#xff0c;从而优…

计算机硬件的组成与功能详解

目录 1. 组成要素 2. 运算器 运算器的组成 运算器的运作方式 3. 存储器 1. 随机存取存储器&#xff08;RAM, Random Access Memory&#xff09; 2. 只读存储器&#xff08;ROM, Read-Only Memory&#xff09; 3. 缓存&#xff08;Cache&#xff09; 4. 辅助存储器&…

零基础STM32单片机编程入门(一)初识STM32单片机

文章目录 一.概要二.单片机型号命名规则三.STM32F103系统架构四.STM32F103C8T6单片机启动流程五.STM32F103C8T6单片机主要外设资源六.编程过程中芯片数据手册的作用1.单片机外设资源情况2.STM32单片机内部框图3.STM32单片机管脚图4.STM32单片机每个管脚可配功能5.单片机功耗数据…

【EF Core】两种使用模式(Code First、Database First)

文章目录 Code FirstDatabase FirstCode First 示例安装 Entity Framework Core创建模型创建数据库创建、读取、更新和删除 Database First 示例1. 使用Scaffold-DbContext命令生成代码&#xff08;通常在Package Manager Console中执行&#xff09;2. 生成的代码类似于Code Fi…

金融行业专题|某头部期货基于 K8s 原生存储构建自服务数据库云平台

为了进一步提升资源交付效率&#xff0c;不少用户都将数据库应用从物理环境迁移到容器环境。而对于 Kubernetes 部署环境&#xff0c;用户不仅需要考虑数据库在性能方面的需求&#xff0c;还要为数据存储提供更安全、可靠的高可用保障。 近期&#xff0c;某头部期货机构基于 S…

新手摄影技巧总结

拍摄好看的照片不仅仅依赖于相机的硬件配置&#xff0c;还需要掌握一些基本的摄影技巧和相机设置。以下是一些建议&#xff0c;帮助你利用佳能EOS R62拍出更好看的照片&#xff1a; 1. 了解相机设置 模式选择&#xff1a;学习使用不同的拍摄模式&#xff08;如光圈优先、快门…

PaddleOCR C++源码编译以及demo测试

Windows10下使用PaddleOCRc 1.所需要的环境 PaddleOCR 源码文件&#xff1a;https://gitee.com/paddlepaddle/PaddleOCR &#xff08;本文选择2.6https://github.com/PaddlePaddle/PaddleOCR/archive/refs/tags/v2.6.0.zip&#xff09; opencv库&#xff1a;https://opencv…

PyTorch的环境配置和安装

PyTorch环境配置及安装 初步机器学习&#xff0c;这里记录下一些学习经过&#xff0c;之后以便于自己查看&#xff0c;同时欢迎各位大佬点评&#xff0c;本节是机器计算的一个包的安装和简单验证。 安装、使用环境 Windows环境下&#xff1a;CUDA官网使用IDM下载就很快乐&am…

LeetCode11. 盛最多水的容器题解

LeetCode11. 盛最多水的容器题解 题目链接&#xff1a; https://leetcode.cn/problems/container-with-most-water 示例 思路 暴力解法 定住一个柱子不动&#xff0c;然后用其他柱子与其围住面积&#xff0c;取最大值。 代码如下&#xff1a; public int maxArea1(int[]…

flex布局学习笔记(flex布局教程)

前端笔试⾯试经常会问到:不定宽⾼如何⽔平垂直居中。最简单的实现⽅法就是flex布局,⽗元素加上如下代码即 可: display: flex; justify-content: center; align-items :center; 。下⾯详细介绍下flex布局吧。 2009年,W3C提出了 Flex布局,可以简便⼂完整⼂响应式地实现各种…

AI儿童绘本创作

之前分享过AI儿童绘画的项目&#xff0c;但是主要问题是角色一致要花费很长的时间&#xff01; 今天发现了这款&#xff0c;非常奈斯&#xff01; 只需输入故事主题、风格、模板&#xff0c;软件就会自动创作故事内容&#xff0c;自动生成插画配图&#xff0c;自动根据模板生…

mysql问题Illegal mix of collations (utf8mb4_unicode_ci,IMPLICIT)

show table status from oa SELECT TABLE_SCHEMA 数据库, TABLE_NAME 表, COLUMN_NAME 字段, CHARACTER_SET_NAME 原字符集, COLLATION_NAME 原排序规则, CONCAT( ALTER TABLE , TABLE_SCHEMA, ., TABLE_NAME, MODIFY COLUMN , COLUMN_NAME, , COLUMN_TYPE, CH…

Spring Bean自动装配:深入解析与实战应用

何为自动装配 在使用Spring框架配置bean时&#xff0c;我们通常需要为bean的属性设置值。如果不手动设置这些值&#xff0c;它们通常会被初始化为默认值&#xff08;对于对象类型通常是null&#xff0c;对于基本类型如int则是0&#xff0c;boolean是false等&#xff09;。自动…

hevc和H.264格式的区别

HEVC&#xff08;High Efficiency Video Coding&#xff09;和H.264&#xff08;也称为Advanced Video Coding&#xff0c;AVC&#xff09;都是视频压缩标准&#xff0c;但它们之间存在一些显著的区别&#xff0c;主要集中在压缩效率、资源需求和兼容性方面。 压缩效率 HEVC&am…

python2进制移位>>><<<

1.右移动 对于正数&#xff0c;右边舍弃&#xff0c;左边补零 对于负数&#xff0c;右边舍弃&#xff0c;左边补1 2.左移动<< 运算符将一个数的二 进制位向左移动指定的位数&#xff0c;右边用 0 填充。例如&#xff0c;将数字 5&#xff08;二进制表示为 101&#xf…

Gitee的基本使用方法和基本用法

Gitee是一个类似于GitHub的代码托管和协作平台&#xff0c;用于管理、分享和合作开发项目。下面是Gitee的使用方法和基本用法&#xff1a; 注册和登录&#xff1a; 首先&#xff0c;你需要在Gitee上注册一个账号。注册完成后&#xff0c;使用你的账号登录。 创建仓库&#xff…