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 }

保護された関数

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()範囲が変更された。

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 の場合、マウスホイールを "up" にスクロールし、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

このプロパティはシングルステップを保持する。

抽象スライダが提供する2つの自然なステップのうち小さい方で、通常、ユーザが矢印キーを押すことに対応する。

オートリピートキーイベント中にこのプロパティが変更された場合、動作は未定義となる。

アクセス関数:

int singleStep() const
void setSingleStep(int)

pageStepも参照してください

sliderDown : bool

このプロパティは、スライダーが押し下げられたかどうかを保持します。

このプロパティは、tracking が何らかの効果を持つかどうかを抽象スライダに知らせるために、サブクラスによって設定されます。

スライダーを押し下げるプロパティを変更すると、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 がトリガーされたときに発せられます。アクションはSliderSingleStepAddSliderSingleStepSubSliderPageStepAddSliderPageStepSubSliderToMinimumSliderToMaximumSliderMove

このシグナルが発せられたとき、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 に設定します。

maxmin より小さい場合、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)

この仮想関数を再実装して、SliderRangeChangeSliderOrientationChangeSliderStepsChangeSliderValueChange のようなスライダの変更をトラッキングする。デフォルトの実装では、表示のみを更新し、change パラメータを無視する。

[signal] void QAbstractSlider::sliderMoved(int value)

このシグナルは、sliderDown が真で、スライダーが動いたときに発せられます。これは通常、ユーザーがスライダーをドラッグしているときに発生します。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)。

© 2025 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.