在Qt5中无法从QWheelEvent获取pixelDelta

Dar*_*ush 5 python events mousewheel qt5 pyqt5

我从Qt4升级到Qt5(PyQt,具体而言)和QWheelEvent为我打破 - 它返回空pixelDelta(),但阶段是2(默认).我在Win 7上,所以关于阶段的警告不适用于我.当我运行此代码时:

from PyQt5 import QtWidgets


class Q(QtWidgets.QLabel):

    def wheelEvent(self, event):
        print(event.pixelDelta())

app = QtWidgets.QApplication([])
w = Q()
w.show()
app.exec_()
Run Code Online (Sandbox Code Playgroud)

滚动打印'没有坐标的PyQt5.QtCore.QPoint()'.我能做什么?

ekh*_*oro 6

从QT5文档的QWheelEvent:

有两种方法可以读取车轮事件增量:angleDelta()以车轮度数返回增量.始终提供此值.pixelDelta()以屏幕像素返回增量,可在具有高分辨率触控板的平台上使用,例如OS X.

pixelData在Qt4中没有.它只有delta,而等效的Qt5方法是angleDelta.