用滚轮控制滚动条水平移动、垂直移动(table/tree)

2024-03-28 10:28

本文主要是介绍用滚轮控制滚动条水平移动、垂直移动(table/tree),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一般控件,滚轮默认滚动垂直滚动条,比如表格、树。我们可以通过重写滚轮事件来控制滚动方向(水平:shift+wheel  垂直:wheel)

一、自定义的滚动条QScrollBar

void ScrollW::wheelEvent(QWheelEvent *event)
{int delta = event->delta();int m = event->modifiers();QAbstractSlider::SliderAction act;if (delta < 0)act = QAbstractSlider::SliderSingleStepAdd;elseact = QAbstractSlider::SliderSingleStepSub;if (m == Qt::ShiftModifier){scrollBarH->triggerAction(act);}else{scrollBarV->triggerAction(act);}}

若需要屏蔽掉滚动,直接event->ignore().


二、自带滚动条控件(table/tree)

需要滚轮事件+键盘事件组合

void TableW::wheelEvent(QWheelEvent *event)
{int delta = event->delta();int m = event->modifiers();if (m == Qt::ShiftModifier){QAbstractSlider::SliderAction act;if (delta < 0){act = QAbstractSlider::SliderSingleStepAdd;}else{act = QAbstractSlider::SliderSingleStepSub;}m_table->horizontalScrollBar()->triggerAction(act);}}void TableW::keyPressEvent(QKeyEvent *event)
{int m = event->modifiers();if ((m == Qt::ShiftModifier)){m_table->verticalScrollBar()->setDisabled(true);}TableParW::keyPressEvent(event);  //父处理
}void TableW::keyReleaseEvent(QKeyEvent *event)
{m_table->verticalScrollBar()->setDisabled(false);TableParW::keyReleaseEvent(event);  
}

这篇关于用滚轮控制滚动条水平移动、垂直移动(table/tree)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/855358

相关文章

移动硬盘盒:便携与交互的完美结合 PD 充电IC

在数字化时代的浪潮中,数据已成为我们生活中不可或缺的一部分。随着数据的不断增长,人们对于数据存储的需求也在不断增加。传统的存储设备如U盘、光盘等,虽然具有一定的便携性,但在容量和稳定性方面往往难以满足现代人的需求。而移动硬盘,以其大容量、高稳定性和可移动性,成为了数据存储的优选方案。然而,单纯的移动硬盘在携带和使用上仍存在诸多不便,于是,移动硬盘盒应运而生,以其独特的便携性和交互性,成为了数据存储

VirtualBox中,虚拟系统文件VDI移动或者复制

在安装virtualbox以后有时需要复制,移动虚拟磁盘等操作,这些操作在vmware的虚拟机下面可以直接操作虚拟磁盘即可使用,但是在virtualbox环境 下每个VDI 文件都有一个唯一的uuid,而VirtualBox 不允许注册重复的uuid,所以直接复制的VDI文件是不能拿来使用的,我们就需要使用到virtualbox自带的管理命令来克隆一个VDI,这样通过命令克隆的VDI文件会重

Java研学-RBAC权限控制(八)

九 登录登出 1 登录作用   判断员工是否有权限访问,首先得知道现在操作的人是谁,所以必须先实现登录功能 2 登录流程   ① 提供登录页面,可输入用户名与密码信息,并添加执行登录的按钮。(登录页面不能被拦截)   ② 给按钮绑定点击事件(异步操作,POST请求)   ③ 事件中发送登录请求,使用 AJAX 方式提交。(使用 AJAX 原因:用户体验更好,既可保留用户刚输入的用户名和密码

ROS2从入门到精通4-4:局部控制插件开发案例(以PID算法为例)

目录 0 专栏介绍1 控制插件编写模板1.1 构造控制插件类1.2 注册并导出插件1.3 编译与使用插件 2 基于PID的路径跟踪原理3 控制插件开发案例(PID算法)常见问题 0 专栏介绍 本专栏旨在通过对ROS2的系统学习,掌握ROS2底层基本分布式原理,并具有机器人建模和应用ROS2进行实际项目的开发和调试的工程能力。 🚀详情:《ROS2从入门到精通》 1 控制插

高性能MYsql读书笔记-加快alter table操作的速度

alte tabe 会导致事务中断。 方法1  使用 alter column 代替 modify column  方法2  不推荐。。 ALTER TABLE      [  ALTER COLUMN    / MODIFY COLUMN  /  CHANGE COLUMN  ] ALTER TABLE sakila.film MODIFY COLUMN rental

MQTT之CONNECT控制报文详解

目录 1.  MQTT协议规范 2.  名词解释 3.  CONNECT控制报文详解 3.1  固定报头 Fixed header 3.2  可变报头 Variable header 3.2.1  协议名 Protocol Name 3.2.2  协议级别 Protocol Level 3.2.3  连接标志 Connect Flags 3.2.4  保持连接 Keep

物联网系统运维——移动电商应用发布,Tomcat应用服务器,实验CentOS 7安装JDK与Tomcat,配置Tomcat Web管理界面

一.Tomcat应用服务器 1.Tomcat介绍 Tomcat是- -个免费的开源的Ser Ivet容器,它是Apache基金会的Jakarta 项目中的一个核心项目,由Apache, Sun和其他一 些公司及个人共同开发而成。Tomcat是一一个小型的轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP程序的首选。 在Tomcat中,应用程序的成部署很简

STM32单片机PWR电源控制详解

文章目录 1. PWR概述 2. 电源结构框图 3. 上电复位和掉电复位 4. 可编程电压监测器 5. 低功耗模式 6. 模式选择 6.1 睡眠模式 6.2 停止模式 6.3 待机模式 7. 代码示例 1. PWR概述 PWR(Power Control)电源控制,负责管理STM32内部的电源供电部分,可以实现可编程电压监测器和低功耗模式的功能。 可编程电压监测器

通用大模型 vs垂直大模型:AI界的“宫斗大戏”

科技圈最近可真热闹,AI大模型的“宫斗大戏”让人眼花缭乱。两个阵营:通用大模型和垂直大模型,正在上演一场激烈的“权力的游戏”。到底谁能笑到最后?咱们一起来“吃瓜”看看吧! 首先,登场的是“全能王”通用大模型。它们就像是学习成绩顶尖、体育全能的学霸,什么都懂,什么都能干。 通用大模型:全能选手看看这家伙的优势: 通用大模型就像那种考上清华北大的学霸,不管是文科还是理科,全都能拿下。从写文章到

红队内网攻防渗透:内网渗透之内网对抗:横向移动篇Kerberos委派安全RBCD资源Operators组成员HTLMRelay结合

基于资源的约束委派(RBCD)是在Windows Server 2012中新加入的功能,与传统的约束委派相比,它不再需要域管理员权限去设置相关属性。RBCD把设置委派的权限赋予了机器自身,既机器自己可以决定谁可以被委派来控制我。也就是说机器自身可以直接在自己账户上配置msDS-AllowedToActOnBehalfOfOtherIdentity属性来设置RBCD。 所以核心就是谁或什么权限能修改