QAbstractSlider Class

QAbstractSlider クラスは、範囲内の整数値を提供します。詳細...

Header: #include <QAbstractSlider>
CMake: find_package(Qt6 REQUIRED COMPONENTS Widgets)
target_link_libraries(mytarget PRIVATE Qt6::Widgets)
qmake: QT += widgets
Inherits: QWidget
Inherited By:

QDial, QScrollBar, and 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 の場合、マウスホイールを「上」にスクロールし、ページアップなどのキーを使用すると、スライダーの値が最大値に向かって増加します。そうでない場合、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)

Notifier シグナル:

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)

再リンプルメント: (QEvent *event):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)

SliderRangeChange,SliderOrientationChange,SliderStepsChange,SliderValueChange のようなスライダの変更を追跡するために、この仮想関数を再実装します。 デフォルトの実装では、表示のみを更新し、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)。

本ドキュメントに含まれる文書の著作権は、それぞれの所有者に帰属します 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。