2016-11-05 7 views
2

Qt4からQt5(PyQt、具体的に)にアップグレードし、QWheelEventが壊れました - 空のpixelDelta()を返しますが、位相は2(デフォルト)です。私は勝利7にいるので、フェーズに関する警告は私には当てはまらない。Qt5のQWheelEventからpixelDeltaを取得できません

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ドキュメントから

答えて

3

ホイールイベントデルタ読み取るための2つの方法があり:angleDelta()はホイール度に デルタを返します。この値は常に提供されます。 pixelDelta()は、スクリーンピクセルにデルタを返し、Qt4をにはpixelDataはありませんこのようなOS Xのような高解像度のトラックパッドを有する プラットフォーム、

に利用可能です。それはdeltaしか持っていません。それと同等のQt5メソッドはangleDeltaです。

+1

サイドノート:現在のQt for Windowsは、高精度のトラックパッドであってもピクセルデルタを提供しません。残念ながらWindowsでは実装されていません(まだですか?)。 – jpnurmi

+0

私は何とかその文書の行を見逃してしまった。ありがとう。 :) – Dariush

関連する問題