Qt实现滑动条平滑效果

news2024/9/20 20:49:31

效果图

在这里插入图片描述
基于QPropertyAnimation实现

代码部分

//设置滑动条动画
m_scrollAnimation=new QPropertyAnimation;
m_scrollAnimation->setTargetObject(this);
m_scrollAnimation->setPropertyName("value");
m_scrollAnimation->setEasingCurve(QEasingCurve::OutQuint);
m_scrollAnimation->setDuration(1000);
m_targetValue =value();

void SmoothScrollBar::setValue(int value)
{
    m_scrollAnimation->stop();
    m_scrollAnimation->setStartValue(this->value());
    m_scrollAnimation->setEndValue(value);
    m_scrollAnimation->start();
}

void SmoothScrollBar::scroll(int value)
{
	m_targetValue -= value;
    setValue(m_targetValue);
}

void SmoothScrollBar::mousePressEvent(QMouseEvent *e)
{
    m_scrollAnimation->stop();
    QScrollBar::mousePressEvent(e);
	m_targetValue = value();

}

void SmoothScrollBar::mouseReleaseEvent(QMouseEvent *e)
{
    m_scrollAnimation->stop();
    QScrollBar::mouseReleaseEvent(e);
	m_targetValue = value();
}

void SmoothScrollBar::mouseMoveEvent(QMouseEvent *e)
{
    m_scrollAnimation->stop();
    QScrollBar::mouseMoveEvent(e);
	m_targetValue = value();
}

源码传送门

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

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

相关文章

如何在已创建的SpringBoot项目基础上添加依赖

假设此时已经创建了一个SpringBoot项目,在使用的时候发现缺少 lombok 依赖,此时如何在不创建新项目的基础上添加该依赖?有两种方式: 通过Maven中央仓库导入依赖使用插件EditStarters导入依赖 1,通过Maven中央仓库导入依…

CVE-2023-21839 Weblogic远程代码执行漏洞复现

目录 0x01 声明: 0x02 简介: 0x03 漏洞概述: 0x04 影响版本: 0x05 环境搭建: Docker环境搭建: 漏洞环境搭建: 1、编辑docker-compose.yml 2、启动docker 3、访问页面: 0x…

PM不想做项目管理了,还能干点啥?

做项目经理太累了! 那么 不做项目经理还能做什么呢? 01 铁锅批发商 毕竟 当项目经理的时候 已经囤积了成百上千口锅 十年背锅经验不是瞎吹 并且可现场演示铁锅烙饼 老板亲授,真实还原,充饥必备 02 Office优化师 当项目…

Gradio入门到进阶全网最详细教程[一]:快速搭建AI算法可视化部署演示(侧重项目搭建和案例分享)

常用的两款AI可视化交互应用比较: Gradio Gradio的优势在于易用性,代码结构相比Streamlit简单,只需简单定义输入和输出接口即可快速构建简单的交互页面,更轻松部署模型。适合场景相对简单,想要快速部署应用的开发者。 …

43岁程序员,投了上万份简历都已读不回,只好把年龄改成40岁,这才有了面试机会,拿到了offer!...

40多岁找工作有多难? 一位43岁的程序员讲述了自己找工作的经历: 80年,大专,目前没到43周岁,年前被裁,简历上的年龄是42岁,两个多月投了上万份简历,99.5%是已读未回。后来改变策略把简…

阿里最新研究:当ChatGPT 遇上推荐系统,遭遇滑铁卢

文 |小戏 在 GPT-4 屠榜了 NLP,SAM 零样本分割一切让 CV 消失后,不知道大家会不会有好奇 AI 三大现实应用的另一边岁月静好的推荐系统有没有感受到来自遥远大模型带来的巨大压力。 尽管 ChatGPT 的训练过程似乎没有对推荐系统太多的兼容,但是…

[2020.3.13]通过Android反编译找出问题根因

反编译软件推荐如下: (1)JEB.android.decompiler (2)jadx-0.7.1 问题:喜马拉雅初次进入直播功能时显示无网络连接;播放音频时,播放界面下方内容无法加载,显示网络未连接 1 初次进入直播功能时显示无网络连接 2 左滑切换直播间…

Stability AI,新人工智能背景下的开源先锋

今天跟大家聊聊一家总部设在伦敦的AI公司,虽然小,但对这一波AI浪潮的贡献不可谓不小,好产品好公司都值得推荐给大家。 开源生成式绘画 Stable Diffusion 提起Stability AI,多少有些陌生,但提起Stable Diffusion&#x…

程序员,停止焦虑吧!|原创

hi,我是阿笠。今天聊聊程序员的焦虑问题。 不知道是我看到的消息被定向推送,还是因为现实环境就这样,似乎越来越多的人都被焦虑所困扰。 我也是其中一员。 失眠、焦虑 前段时间因为睡眠困扰,我去看了医生,医生给出的诊…

JavaScript Debugger 调试断点模式

在代码中加入debugger,相当于断点停顿,可用于查看变量传递情况,比如:Vue组件中生命周期onLoad(options) ,在上一页面进入下一页面后,传递进来的参数值。 备注 :options 参数为字符串&#xff0…

测试Ocr工具IronOCR(续2:编写圈选图片识别文本的程序)

上篇文章介绍了加载图片并圈选图片中文字区域的程序实现方式,本文基于此实现识别圈选区域文字内容的程序。主要识别语言包括英文和中文。IronOCR包中自带英文语言包,项目还需安装中文语言包,建议直接安装IronOcr.Languages.Chinese语言包&…

【Java EE】-CSS详解

作者:学Java的冬瓜 博客主页:☀冬瓜的主页🌙 专栏:【JavaEE】 分享: 且视他人如盏盏鬼火,大胆地去走你的道路。——史铁生《病隙碎笔》 主要内容:CSS引入html的三种方式,CSS八大选择器&#xff…

YOLOv8 Tensorrt Python/C++部署教程

B站教学视频 https://www.bilibili.com/video/BV1Pa4y1N7HS Github仓库地址 https://github.com/Monday-Leo/YOLOv8_Tensorrt Introduction 基于Tensorrt加速Yolov8,本项目采用ONNX转Tensorrt方案支持Windows10和Linux支持Python/C YOLOv8 Environment Tenso…

Git cherry-pick详解

文章目录 基本用法引入多个提交代码冲突解决引入分支所有提交引入另一个代码库提交常用配置常见问题 对于多分支的代码库,将代码从一个分支引入到另一个分支是常见需求。 这时分两种情况。一种情况是,你需要另一个分支的所有代码变动,那么就…

Linux命令rsync增量同步目录下的文件

业务场景描述 最近遇到一个问题,需要编写相应的Linux命令,增量同步/var/mysql里的所有文件到另外一个目录/opt/mysql,但是里面相关的日志文件xx.log是不同步的,这个场景,可以使用rsync来实现 什么是rsync命令&#x…

【Linux】冯诺依曼体系及操作系统

本期博客我们将深入学习操作系统的架构 目录 一、冯诺依曼体系结构 二、操作系统(Operator System) 2.1 操作系统的引入 2.2 操作系统的概念 2.3 操作系统的定位 2.4 深度理解操作系统的管理 2.5 系统调用和库函数概念 一、冯诺依曼体系结构 冯诺依曼体系这个名词相信…

webpack5搭建react框架-配置优化

webpack5搭建react框架-配置优化 一、前言 使用webpack5已经搭建好了基础的开发环境和生产环境,但是有些功能在使用的时候还可以进一步优化,所以今天就来将之前的配置做一下最终的优化。 二、配置优化 1、设置扩展名和别名 目前的配置中我们在引入一…

Java泛型之通配符类型

1. 案例分析 class Animal {Overridepublic String toString() {return "animal";} }class Cat extends Animal {Overridepublic String toString() {return "cat";} }class Dog extends Animal {Overridepublic String toString() {return "dog&quo…

2023/4/25

今天主要重新复习了一下树的基础知识,对于树的遍历和深度的求解进行了一些训练(复习了一下写过的题) 刷了两个关于树的简单题 104. 二叉树的最大深度 难度简单1586收藏分享切换为英文接收动态反馈 给定一个二叉树,找出其最大深度…

mysql的读提交与可重复读

前景介绍 隔离级别脏读可能性不可重复读可能性幻读可能性加读锁READ UNCOMMITTEDYESYESYESNOREAD COMMITTEDNOYESYESNOREPEATABLE READNONOYESNOSERALIZABLENONONONO mysql事务 READ COMMITTED 时间事务1事务2事务3T1beginbeginbeginT2update wx_va set value “TT1” wher…