赞
踩
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)); }
结果:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。