【问题标题】:Cannot get pixelDelta from QWheelEvent in Qt5无法从 Qt5 中的 QWheelEvent 获取 pixelDelta
【发布时间】:2016-11-05 21:14:41
【问题描述】:

我从 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_()

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

【问题讨论】:

    标签: python events qt5 pyqt5 mousewheel


    【解决方案1】:

    来自QWheelEvent 的 Qt5 文档:

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

    Qt4 中没有pixelData。它只有delta,与之等效的Qt5方法是angleDelta。

    【讨论】:

    • 旁注:截至今天,Qt for Windows 不提供像素增量,即使是高精度触控板也是如此。不幸的是,它还没有(还没有?)为 Windows 实现。
    猜你喜欢
    • 2015-09-30
    • 2013-07-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-24
    • 2019-07-08
    • 1970-01-01
    • 2018-03-18
    相关资源
    最近更新 更多