QWheelEventでホイール回転の受け取り
マウスのホイールの回転はQWidgetでwheelEventをオーバーライドすることで受け取ることが可能です。
一回のホイールの回転角がどれだけかはQWheelEventのangleDelta関数から次の式で得ることができます。
int degrees = event.angleDelta().y() / 8;
ホイールの回転角は下の画像のようにyの値は15度進むたびに120単位で進むので実際の角度を求めるには8で割る必要があります。
もし、ホイールが上にスクロールされたら回転角はプラス、下なら回転角はマイナスです。
コード例
実際にカスタムウィジェット内でホイールの回転を受け取るコード例を示します。
class MyWidget : public QWidget { public: MyWidget(QWidget * parent = 0) : QWidget(parent){} protected: /**ホイールイベントの受け取り*/ void wheelEvent(QWheelEvent * e) { int degress = e.angleDelta() / 8; ///処理... } };
回転角の求め方さえ注意すれば後は簡単です。
以上、ホイール回転イベントの受け取り方でした。では、また!
関連項目
© Kaz