このページでは

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 などのウィジェットの共通スーパークラスとして設計されています。

このクラスの主なプロパティは以下の通りです。

  1. value: QAbstractSlider が保持する、範囲が指定された整数。
  2. minimum: 可能な最小値。
  3. maximum: 設定可能な最大値。
  4. singleStep: 抽象スライダーが提供する 2 つの自然なステップのうち小さい方の値で、通常、ユーザーが矢印キーを押す操作に対応します。
  5. pageStep: 抽象スライダーが提供する2つの自然なステップのうち大きい方で、通常はユーザーがPageUpまたはPageDownキーを押した操作に対応します。
  6. tracking: スライダーのトラッキングが有効かどうか。
  7. 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::SliderNoAction0
QAbstractSlider::SliderSingleStepAdd1
QAbstractSlider::SliderSingleStepSub2
QAbstractSlider::SliderPageStepAdd3
QAbstractSlider::SliderPageStepSub4
QAbstractSlider::SliderToMinimum5
QAbstractSlider::SliderToMaximum6
QAbstractSlider::SliderMove7

enum QAbstractSlider::SliderChange

定数定数
QAbstractSlider::SliderRangeChange0
QAbstractSlider::SliderOrientationChange1
QAbstractSlider::SliderStepsChange2
QAbstractSlider::SliderValueChange3

プロパティのドキュメント

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.