我从qt4升级到qt5(具体来说是pyqt),qwheeleevent为我中断-它返回空的pixeldeta(),但phase为2(默认)。我赢了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_()

滚动打印不带坐标的“pyqt5.qtcore.qpoint()”。我能做什么?

最佳答案

来自QWheelEvent的qt5文档:
读取控制盘事件增量有两种方法:angleDelta()返回
车轮角度的增量。始终提供此值。
pixeldeta()返回屏幕像素的增量,并在
具有高分辨率触控板的平台,如OS X。
在qt4中没有pixelData。它只有delta,与之等价的qt5方法是angleDelta

07-24 17:25