質問

ユーザーにフィードバックを提供するために、入力にQSLider(v4.6)を使用しています。フィードバックについては、SetValueメソッドを呼び出します。ユーザーが値を変更した場合にのみ発射する信号を見つけようとしています。ユーザーが値を変更したときとSetValueを呼び出すときに、ValueChangedの信号が発火します。スライダー装置は、ユーザーがスライダーをドラッグするときにのみ発火します(キーボードを使用するときではありません)。 APIドキュメントをチェックしましたが、何も見つからないようです。私は何かが足りませんか?これは一般的なもののようです。他の信号がない場合、この機能をシミュレートすることをどのように推奨しますか? SetValueを呼び出す前にフラグを設定する必要があります。SetValueを呼び出すたびに信号を切断して再接続する必要があります...?

役に立ちましたか?

解決

良い質問、私はAPIをチェックしましたが、ユーザーによって値が変更された場合にのみトリガーされる信号を見つけることができませんでした。提案した回避策が唯一のオプションかもしれません。すべての信号を切断 /接続する必要がないことに注意してください。 QObject::blockSignals 方法:

slider->blockSignals(true);
slider->setValue(x);
slider->blockSignals(false);

それが役立つことを願っています。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top