Qt 鼠标滚轮示例

1.声明

void wheelEvent(QWheelEvent *event) override;

2.实现(方便复制、测试起见用静态变量)

#include <mutex>
void MainWindow::wheelEvent(QWheelEvent *event)
{
    static QLabel *label = new QLabel("Zoom Level: 100%", this);
    static int zoomLevel = 100; // 初始缩放等级为100%

    {   // init
        static std::once_flag winner_flag;
        std::call_once(winner_flag,[&,this](){
            label->setAlignment(Qt::AlignCenter);
            setCentralWidget(label);
            resize(400, 300);
        });
    }

    // 检查滚轮的方向
    if (event->angleDelta().y() > 0) {
        zoomLevel += 10; // 向上滚动放大
    } else {
        zoomLevel -= 10; // 向下滚动缩小
    }
    zoomLevel = qMax(10, zoomLevel); // 设置最小缩放等级为10%
    label->setText(QString("Zoom Level: %1%").arg(zoomLevel));
}

结果:在这里插入图片描述

相关推荐

  1. Qt处理鼠标滚轮事件,放大缩小地图

    2024-03-18 00:30:02       70 阅读
  2. Qt】实现 Ctrl + 鼠标滚轮 缩放文本功能

    2024-03-18 00:30:02       53 阅读
  3. canvas实现鼠标滚轮滚动缩放画布

    2024-03-18 00:30:02       63 阅读
  4. QT 设置鼠标样式

    2024-03-18 00:30:02       49 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-03-18 00:30:02       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-03-18 00:30:02       100 阅读
  3. 在Django里面运行非项目文件

    2024-03-18 00:30:02       82 阅读
  4. Python语言-面向对象

    2024-03-18 00:30:02       91 阅读

热门阅读

  1. 【Git】git pull fatal: refusing to merge unrelated histories

    2024-03-18 00:30:02       46 阅读
  2. 【Vue2】v-model

    2024-03-18 00:30:02       43 阅读
  3. Git使用

    Git使用

    2024-03-18 00:30:02      33 阅读
  4. 2024年3月职业健康安全管理体系基础考试真题

    2024-03-18 00:30:02       43 阅读
  5. 智能车摄像头灰度处理高效算法(下)

    2024-03-18 00:30:02       46 阅读
  6. ThreadLocal-案例编码实战

    2024-03-18 00:30:02       41 阅读
  7. 17个工作必备的Python自动化代码分享(上篇)

    2024-03-18 00:30:02       34 阅读
  8. clickhouse sql语句

    2024-03-18 00:30:02       37 阅读
  9. Leetcode64. 最小路径和

    2024-03-18 00:30:02       42 阅读