Qtでマウスホイールのイベント取得

マウスのホイール操作をQtのプログラムから得たい場合,

void wheelEvent(QWheelEvent *wEvent);

をオーバーライドすれば良い.
その関数内で,QWheelEventからマウスホイールの回転方向を取るには

void Hoge::wheelEvent(QWheelEvent *wEvent){
    QPoint d = wEvent->pixelDelta();
}

として得られるQPoint型の変数に,x,y方向それぞれの移動量が入る.
その結果,

void Hoge::wheelEvent(QWheelEvent *wEvent){
    QPoint d = wEvent->pixelDelta();
    int x_scroll = d.x();
    int y_scroll = d.y();
}

として値を取り出すことができる.

コメントする