QScrollAreaでマウスホイールのスクロールを無効にして、右のスクロールバーをクリックしてスクロールするだけですが、インターネット上で解決策を見つけることはできません。QscrollAreaでマウスホイールのスクロールを無効にする
app = QtGui.QApplication([])
sa = pg.QtGui.QScrollArea()
win = pg.GraphicsWindow()
sa.setWidget(win)
問題は、私は私のスクロール領域にグラフをたくさん持っている、と私はそれらのいずれかにマウスホイールしようとすると、ページがグラフと一緒に上下にスクロールすることです。 マウスホイールのスクロールを無効にするために "sa"を呼び出すメソッドが見つかりません。
インストールイベントフィルタについて議論している記事がいくつか見つかりましたが、この場合の使用方法はわかりません。たとえば、私はこれを使用しようとしました:
sa.viewport().installEventFilter(???)
しかし、私は本当にどの引数を渡し、どのようにイベントをチェックするのか分かりませんでした。
この問題を解決するお手伝いをしていただきありがとうございます。
私はちょうど作成問題を解決するために管理しましたクラス: 'クラススクローラ(pg.QtGui.QScrollArea): デフ__init __(自己): pg.QtGui.QScrollArea .__のinit __(自己) デフwheelEvent(自己、EV): (ev.type場合) == QtCore.QEvent.Wheel: ev.ignore() 'そして、このようなオブジェクトを作成 : ' SA =スクローラ() ' これが最も正しい方法であれば、私は知らないが、私はそれが –
@EdoardoBianchi本当に簡単だと思います。私が示した方法は単なるシンプルなコードです(6行のみ)。 – ekhumoro