QAbstractSlider Class
QAbstractSlider クラスは、指定された範囲内の整数値を提供します。詳細...
| ヘッダー: | #include <QAbstractSlider> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS Widgets) target_link_libraries(mytarget PRIVATE Qt6::Widgets) |
| qmake: | QT += widgets |
| 継承元: | QWidget |
| 継承元: | QDial、QScrollBar 、およびQSlider |
パブリック型
| enum | SliderAction { SliderNoAction, SliderSingleStepAdd, SliderSingleStepSub, SliderPageStepAdd, SliderPageStepSub, …, SliderMove } |
プロパティ
|
|
パブリック関数
| QAbstractSlider(QWidget *parent = nullptr) | |
| virtual | ~QAbstractSlider() |
| bool | hasTracking() const |
| bool | invertedAppearance() const |
| bool | invertedControls() const |
| bool | isSliderDown() const |
| int | maximum() const |
| int | minimum() const |
| Qt::Orientation | orientation() const |
| int | pageStep() const |
| void | setInvertedAppearance(bool) |
| void | setInvertedControls(bool) |
| void | setMaximum(int) |
| void | setMinimum(int) |
| void | setPageStep(int) |
| void | setSingleStep(int) |
| void | setSliderDown(bool) |
| void | setSliderPosition(int) |
| void | setTracking(bool enable) |
| int | singleStep() const |
| int | sliderPosition() const |
| void | triggerAction(QAbstractSlider::SliderAction action) |
| int | value() const |
パブリックスロット
| void | setOrientation(Qt::Orientation) |
| void | setRange(int min, int max) |
| void | setValue(int) |
シグナル
| void | actionTriggered(int action) |
| void | rangeChanged(int min, int max) |
| void | sliderMoved(int value) |
| void | sliderPressed() |
| void | sliderReleased() |
| void | valueChanged(int value) |
保護された型
| enum | SliderChange { SliderRangeChange, SliderOrientationChange, SliderStepsChange, SliderValueChange } |
protected 関数
| QAbstractSlider::SliderAction | repeatAction() const |
| void | setRepeatAction(QAbstractSlider::SliderAction action, int thresholdTime = 500, int repeatTime = 50) |
| virtual void | sliderChange(QAbstractSlider::SliderChange change) |
再実装された保護関数
| virtual void | changeEvent(QEvent *ev) override |
| virtual bool | event(QEvent *e) override |
| virtual void | keyPressEvent(QKeyEvent *ev) override |
| virtual void | timerEvent(QTimerEvent *e) override |
| virtual void | wheelEvent(QWheelEvent *e) override |
詳細な説明
このクラスは、QScrollBar 、QSlider 、QDial などのウィジェットの共通スーパークラスとして設計されています。
このクラスの主なプロパティは以下の通りです。
- value: QAbstractSlider が保持する、範囲が指定された整数。
- minimum: 可能な最小値。
- maximum: 設定可能な最大値。
- singleStep: 抽象スライダーが提供する 2 つの自然なステップのうち小さい方の値で、通常、ユーザーが矢印キーを押す操作に対応します。
- pageStep: 抽象スライダーが提供する2つの自然なステップのうち大きい方で、通常はユーザーがPageUpまたはPageDownキーを押した操作に対応します。
- tracking: スライダーのトラッキングが有効かどうか。
- sliderPosition: スライダーの現在の位置。tracking が有効になっている場合(デフォルト)、これはvalue と同一です。
Unity (1) は、3番目のステップサイズと見なすことができます。setValue() を使用すると、現在の値を、n が整数である場合のminimum() +n*singleStep() だけでなく、許可された範囲内の任意の整数に設定できます。ウィジェットによっては、ユーザーが任意の値を設定できるものもあれば、singleStep() またはpageStep() の倍数のみを提供するものもあります。
QAbstractSlider は、包括的な一連のシグナルを発行します:
| シグナル | 以下の場合に発火 |
|---|---|
| valueChanged() | 値が変更されたとき。tracking は、このシグナルがユーザーの操作中に発火するかどうかを決定します。 |
| sliderPressed() | ユーザーがスライダーのドラッグを開始したとき。 |
| sliderMoved() | ユーザーがスライダーをドラッグしています。 |
| sliderReleased() | ユーザーがスライダーを離したとき。 |
| actionTriggered() | スライダーのアクションがトリガーされました。 |
| rangeChanged() | a 範囲が変更されました。 |
QAbstractSlider は、スライダーの画面上の表示を更新するのに適した仮想関数 `sliderChange()` を提供しています。サブクラスは `triggerAction()` を呼び出すことで、スライダーアクションをトリガーします。2つのヘルパー関数 `QStyle::sliderPositionFromValue()` および `QStyle::sliderValueFromPosition()` は、サブクラスやスタイルが画面座標を論理的な範囲値にマッピングするのを支援します。
QAbstractSpinBox 、QSlider 、QDial 、QScrollBar 、および「スライダーの例」も参照してください 。
メンバ型のドキュメント
enum QAbstractSlider::SliderAction
| 定数 | 定数 |
|---|---|
QAbstractSlider::SliderNoAction | 0 |
QAbstractSlider::SliderSingleStepAdd | 1 |
QAbstractSlider::SliderSingleStepSub | 2 |
QAbstractSlider::SliderPageStepAdd | 3 |
QAbstractSlider::SliderPageStepSub | 4 |
QAbstractSlider::SliderToMinimum | 5 |
QAbstractSlider::SliderToMaximum | 6 |
QAbstractSlider::SliderMove | 7 |
enum QAbstractSlider::SliderChange
| 定数 | 定数 |
|---|---|
QAbstractSlider::SliderRangeChange | 0 |
QAbstractSlider::SliderOrientationChange | 1 |
QAbstractSlider::SliderStepsChange | 2 |
QAbstractSlider::SliderValueChange | 3 |
プロパティのドキュメント
invertedAppearance : bool
このプロパティは、スライダーの値を反転して表示するかどうかを指定します。
このプロパティが `false `(既定値)の場合、最小値と最大値は、継承されたウィジェットの従来の位置に表示されます。値が `true` の場合、最小値と最大値は反対の位置に表示されます。
注:このプロパティは、主にスライダーやダイヤルで意味を持ちます。スクロールバーの場合、スクロールバーのサブコントロールの視覚的な表示は、スタイルが反転表示に対応しているかどうかに依存します。ほとんどのスタイルでは、スクロールバーに対してこのプロパティを無視します。
アクセス関数:
| bool | invertedAppearance() const |
| void | setInvertedAppearance(bool) |
invertedControls : bool
このプロパティは、スライダーがホイールおよびキーのイベントを反転させるかどうかを指定します。
このプロパティがfalse に設定されている場合、マウスホイールを「上」にスクロールしたり、Page Upなどのキーを使用したりすると、スライダーの値が最大値に向かって増加します。それ以外の場合、Page Upキーを押すと、値はスライダーの最小値に向かって移動します。
アクセス関数:
| bool | invertedControls() const |
| void | setInvertedControls(bool) |
maximum : int
このプロパティは、スライダーの最大値を保持します
このプロパティを設定すると、範囲が有効な状態を維持できるよう、必要に応じてminimum が調整されます。また、スライダーの現在の値も、新しい範囲内に収まるように調整されます。
アクセス関数:
| int | maximum() const |
| void | setMaximum(int) |
minimum : int
このプロパティは、スライダーの最小値を保持します
このプロパティを設定すると、範囲が有効な状態を維持できるよう、必要に応じてmaximum が調整されます。また、スライダーの現在の値も、新しい範囲内に収まるように調整されます。
アクセス関数:
| int | minimum() const |
| void | setMinimum(int) |
orientation : Qt::Orientation
このプロパティは、スライダーの向きを保持します
オリエンテーションは、Qt::Vertical (デフォルト)またはQt::Horizontal のいずれかでなければなりません。
アクセス関数:
| Qt::Orientation | orientation() const |
| void | setOrientation(Qt::Orientation) |
pageStep : int
このプロパティは、ページのステップ数を保持します。
これは、抽象的なスライダーが提供する2つの自然なステップのうち、より大きな方のステップであり、通常、ユーザーが「PageUp」または「PageDown」キーを押した操作に対応します。
アクセス関数:
| int | pageStep() const |
| void | setPageStep(int) |
関連項目: singleStep 。
singleStep : int
このプロパティは、1ステップ分の情報を保持します。
抽象スライダーが提供する 2 つの自然なステップのうち小さい方のステップであり、通常、ユーザーが矢印キーを押した操作に対応します。
キーイベントの自動繰り返し中にこのプロパティが変更された場合、動作は未定義となります。
アクセス関数:
| int | singleStep() const |
| void | setSingleStep(int) |
pageStepも参照してください 。
sliderDown : bool
このプロパティは、スライダーが押されているかどうかを表します。
このプロパティは、tracking が効果を持つかどうかを抽象スライダーに知らせるために、サブクラスによって設定されます。
slider_down プロパティが変更されると、sliderPressed() およびsliderReleased() シグナルが発信されます。
アクセス関数:
| bool | isSliderDown() const |
| void | setSliderDown(bool) |
sliderPosition : int
このプロパティは、スライダーの現在の位置を保持します
tracking が有効になっている場合(デフォルト設定)、これはvalue と同じ動作をします。
アクセス関数:
| int | sliderPosition() const |
| void | setSliderPosition(int) |
通知シグナル:
| void | sliderMoved(int value) |
tracking : bool
このプロパティは、スライダーのトラッキングが有効かどうかを示します
トラッキングが有効の場合(デフォルト)、スライダーがドラッグされている間、スライダーはvalueChanged()シグナルを発行します。トラッキングが無効の場合、スライダーはユーザーがスライダーを離したときにのみ、valueChanged()シグナルを発行します。
アクセス関数:
| bool | hasTracking() const |
| void | setTracking(bool enable) |
sliderDownも参照してください 。
value : int
このプロパティには、スライダーの現在の値が格納されます
スライダーは、値を有効範囲内に制限します:minimum <=value <=maximum 。
値を変更すると、sliderPosition も変更されます。
アクセス関数:
| int | value() const |
| void | setValue(int) |
通知シグナル:
| void | valueChanged(int value) |
メンバ関数のドキュメント
[explicit] QAbstractSlider::QAbstractSlider(QWidget *parent = nullptr)
抽象的なスライダーを生成します。
parent 引数は、QWidget コンストラクタに渡されます。
minimum のデフォルト値は0、maximum は99、singleStep のサイズは1、pageStep のサイズは10、初期値のvalue は0です。
[virtual noexcept] QAbstractSlider::~QAbstractSlider()
スライダーを削除します。
[signal] void QAbstractSlider::actionTriggered(int action)
このシグナルは、スライダーアクション「action 」がトリガーされたときに発火します。アクションには、SliderSingleStepAdd 、SliderSingleStepSub 、SliderPageStepAdd 、SliderPageStepSub 、SliderToMinimum 、SliderToMaximum 、およびSliderMove があります。
シグナルが発信された時点で、sliderPosition はアクションに従って調整されていますが、value はまだ伝播されておらず(つまり、valueChanged()シグナルはまだ発信されていません)、視覚的な表示も更新されていません。 したがって、このシグナルに接続されたスロット内では、アクションとスライダーの値の両方に基づいて、setSliderPosition() を自ら呼び出すことで、任意のアクションを安全に調整することができます。
triggerAction()も参照してください 。
[override virtual protected] void QAbstractSlider::changeEvent(QEvent *ev)
QWidget::changeEvent(QEvent *event) を再実装します。
[override virtual protected] bool QAbstractSlider::event(QEvent *e)
QWidget::event(QEvent *event) を再実装します。
[override virtual protected] void QAbstractSlider::keyPressEvent(QKeyEvent *ev)
QWidget::keyPressEvent(QKeyEvent *event) を再実装します。
[signal] void QAbstractSlider::rangeChanged(int min, int max)
このシグナルは、スライダーの範囲が変更された際に発行され、min が新しい最小値、max が新しい最大値となります。
「 minimum 」および「maximum 」も参照してください 。
[protected] QAbstractSlider::SliderAction QAbstractSlider::repeatAction() const
現在の繰り返しアクションを返します。
setRepeatAction()も参照してください 。
[slot] void QAbstractSlider::setRange(int min, int max)
スライダーの最小値をmin 、最大値をmax に設定します。
max がmin より小さい場合、min が唯一の有効な値となります。
「 minimum 」および「maximum 」も参照のこと 。
[protected] void QAbstractSlider::setRepeatAction(QAbstractSlider::SliderAction action, int thresholdTime = 500, int repeatTime = 50)
アクション「action 」を、初期遅延「thresholdTime 」の後、「repeatTime 」の間隔で繰り返しトリガーされるように設定します。
triggerAction() およびrepeatAction()も参照してください 。
[virtual protected] void QAbstractSlider::sliderChange(QAbstractSlider::SliderChange change)
SliderRangeChange 、SliderOrientationChange 、SliderStepsChange 、またはSliderValueChange などのスライダーの変更を追跡するために、この仮想関数を再実装してください。デフォルトの実装では、表示のみを更新し、change パラメータは無視されます。
[signal] void QAbstractSlider::sliderMoved(int value)
このシグナルは、sliderDown がtrueであり、かつスライダーが移動したときに発火します。これは通常、ユーザーがスライダーをドラッグしているときに発生します。value は、スライダーの新しい位置を表します。
このシグナルは、トラッキングがオフになっている場合でも発火します。
注: プロパティ `sliderPosition` に対する通知 シグナルです。
関連項目: setTracking()、valueChanged()、isSliderDown()、sliderPressed()、およびsliderReleased()。
[signal] void QAbstractSlider::sliderPressed()
このシグナルは、ユーザーがマウスでスライダーをクリックしたとき、またはプログラム上で `setSliderDown(true)` が呼び出されたときに発生します。
sliderReleased()、sliderMoved()、およびisSliderDown()も参照してください 。
[signal] void QAbstractSlider::sliderReleased()
このシグナルは、ユーザーがマウスでスライダーを離したとき、またはプログラム上で `setSliderDown(false)` が呼び出されたときに発生します。
sliderPressed()、sliderMoved()、およびsliderDownも参照してください 。
[override virtual protected] void QAbstractSlider::timerEvent(QTimerEvent *e)
QObject::timerEvent(QTimerEvent *event) を再実装します。
void QAbstractSlider::triggerAction(QAbstractSlider::SliderAction action)
スライダー `action` を起動します。実行可能なアクションは、`SliderSingleStepAdd`、`SliderSingleStepSub`、`SliderPageStepAdd`、`SliderPageStepSub`、`SliderToMinimum`、`SliderToMaximum`、および `SliderMove` です。
actionTriggered()も参照してください 。
[signal] void QAbstractSlider::valueChanged(int value)
このシグナルは、スライダーの値が変更された際に、引数として新しいスライダー `value ` とともに発火します。
注: プロパティ `value` に対する通知 シグナルです。
[override virtual protected] void QAbstractSlider::wheelEvent(QWheelEvent *e)
QWidget::wheelEvent(QWheelEvent *event) を再実装します。
© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.