PySide6/PyQt Ctrl 滚轮 实现文本缩放功能

Ctrl 滚轮 实现文本缩放功能

实现原理

  1. 继承文本编辑(QTextEdit)或者纯文本编辑(QPlainTextEdit)重写其中的滚轮事件(wheelEvent)。
  2. 获取事件的修饰符(modifier),判断是否是控制修饰符(ControlModifier)
  3. 获取滚动角度(angleDelta) 的纵轴(y)偏移量
  4. 如果大于零向上,小于零向下

代码展示

py 复制代码
# from PySide6.QtGui import QFont,QWheelEvent
# 重写时 倒入 上诉 方便查看文档
    def wheelEvent(self, e: QWheelEvent):
        """鼠标滚动事件"""
        # 获取 KeyboardModifier 查看是否等于 ControlModifier
        if e.modifiers() == Qt.KeyboardModifier.ControlModifier:

            # y轴滚动角度 => 上下滚动角度
            delta = e.angleDelta().y()

            # 向上
            if delta > 0:
                self.zoomIn()

            # 向下
            else:
                self.zoomOut()
        else:
            return super().wheelEvent(e)

注意事项

这里的modifiersQt for Python的官网里难以找到 但是可以确定的是:返回的类型是 Qt.KeyboardModifier.ControlModifier

这里与参考的Qt文档不同,另一个就是偏移亮(delta)

参考文档(https://jishuzhan.net/article/1760965237432913922)

相关推荐
懷淰メ6 天前
【AI赋能】基于PyQt+YOLO+DeepSeek的淋巴细胞检测系统(详细介绍)
yolo·计算机视觉·pyqt·课程设计·医疗·淋巴细胞·淋巴
懷淰メ7 天前
【AI加持】基于PyQt+YOLO+DeepSeek的结直肠息肉检测系统(详细介绍)
yolo·目标检测·计算机视觉·pyqt·ai加持·直肠息肉·结直肠
懷淰メ8 天前
【AI加持】基于PyQt+YOLO+DeepSeek的疟原虫检测系统(详细介绍)
人工智能·yolo·计算机视觉·pyqt·医疗·ai分析·疟原虫
石工记10 天前
CTO如何落地AI?从0到1的实战路径
人工智能·python·django·flask·numpy·pandas·pyqt
rrr218 天前
后处理子页面功能
pyqt
Fleshy数模20 天前
基于机器视觉的工业产品型号识别与报警系统实现
python·ocr·pyqt
小灰灰搞电子1 个月前
PyQt QtWaitingSpinner详解-为你的 Qt 程序带来丝滑等待动画
开发语言·qt·pyqt
懷淰メ1 个月前
【AI加持】基于PyQt+YOLO+DeepSeek的舌苔情况检测系统(详细介绍)
python·yolo·目标检测·计算机视觉·pyqt·舌苔
深蓝海拓1 个月前
PySide6,图形按钮使用系统内置图标
笔记·python·学习·pyqt
懷淰メ1 个月前
【AI加持】基于PyQt+YOLO+DeepSeek的钢材焊接缺陷检测系统(详细介绍)
yolo·目标检测·计算机视觉·pyqt·缺陷检测·deepseek·钢材缺陷