私は書いているウィジェットを持っており、マウスボタンを押すとアクションが起こります。マウスボタンが放されていなければ、それを繰り返す必要があります。これを達成する適切な方法は何ですか?マウスボタンが押されていると、mousePressEventを蘇らせるにはどうすればいいですか?
現在、私は押されている間ワンショットタイマーを使用していますが、これは適切な「QT」ではないようです。
私は書いているウィジェットを持っており、マウスボタンを押すとアクションが起こります。マウスボタンが放されていなければ、それを繰り返す必要があります。これを達成する適切な方法は何ですか?マウスボタンが押されていると、mousePressEventを蘇らせるにはどうすればいいですか?
現在、私は押されている間ワンショットタイマーを使用していますが、これは適切な「QT」ではないようです。
あなたのメソッドは、Qt APIに適切なビルトインイベントがあるとは思われないので、妥当と思われます。
あなたのウィジェットがUIボタンのように動作している場合(これはウィジェットがボタンのように動作すると思う)、あなたはQAbstractButton
から継承できます。独自の描画を提供する必要がありますが、このウィジェットは、ユーザがウィジェット上にマウスボタンを押したままクリックすると、繰り返しクリックされる信号を表示するためのプロパティ(および関連するチューニングパラメータ)を提供します。ただし、イベントハンドラがトリガされることはありません。
また、クラスのソースコードをチェックして、それらの実装方法を確認することもできます。