qt-C++笔记之捕获鼠标滚轮事件并输出滚轮角度增量
code review!
文章目录
1.运行
2.main.cpp
cpp
#include <QApplication>
#include <QWidget>
#include <QWheelEvent>
#include <QDebug>
class WheelWidget : public QWidget {
protected:
void wheelEvent(QWheelEvent *event) override {
// 输出滚轮事件的相关信息
qDebug() << "Wheel event delta:" << event->angleDelta();
if (event->orientation() == Qt::Vertical) {
qDebug() << "Vertical wheel";
} else {
qDebug() << "Horizontal wheel";
}
// Standard event processing
event->accept();
}
};
int main(int argc, char *argv[]) {
QApplication a(argc, argv);
WheelWidget widget;
widget.show();
return QApplication::exec();
}
在WheelWidget类中,wheelEvent函数被重写。这个函数是QWidget的一个虚函数,用于处理鼠标滚轮事件。
3.main.pro
#-------------------------------------------------
#
# Project created by QtCreator
#
#-------------------------------------------------
QT += core gui
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
TARGET = test
TEMPLATE = app
# The following define makes your compiler emit warnings if you use
# any Qt feature that has been marked deprecated (the exact warnings
# depend on your compiler). Please consult the documentation of the
# deprecated API in order to know how to port your code away from it.
DEFINES += QT_DEPRECATED_WARNINGS
# You can also make your code fail to compile if it uses deprecated APIs.
# In order to do this, uncomment the following line.
# You can also select to disable deprecated APIs only up to a certain version of Qt.
#DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000 # disables all the APIs deprecated before Qt 6.0.0
SOURCES += \
main.cpp
# Default rules for deployment.
qnx: target.path = /tmp/$${TARGET}/bin
else: unix:!android: target.path = /opt/$${TARGET}/bin
!isEmpty(target.path): INSTALLS += target