QSlider Class
QSlider ウィジェットは、縦方向または横方向のスライダーを提供します。詳細...
| ヘッダー: | #include <QSlider> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS Widgets) target_link_libraries(mytarget PRIVATE Qt6::Widgets) |
| qmake: | QT += widgets |
| 継承元: | QAbstractSlider |
パブリック型
| enum | TickPosition { NoTicks, TicksBothSides, TicksAbove, TicksBelow, TicksLeft, TicksRight } |
プロパティ
- tickInterval : int
- tickPosition : TickPosition
パブリック関数
| QSlider(QWidget *parent = nullptr) | |
| QSlider(Qt::Orientation orientation, QWidget *parent = nullptr) | |
| virtual | ~QSlider() |
| void | setTickInterval(int ti) |
| void | setTickPosition(QSlider::TickPosition position) |
| int | tickInterval() const |
| QSlider::TickPosition | tickPosition() const |
再実装されたパブリック関数
| virtual bool | event(QEvent *event) override |
| virtual QSize | minimumSizeHint() const override |
| virtual QSize | sizeHint() const override |
プロテクトされた関数
| virtual void | initStyleOption(QStyleOptionSlider *option) const |
再実装されたプロテクト関数
| virtual void | mouseMoveEvent(QMouseEvent *ev) override |
| virtual void | mousePressEvent(QMouseEvent *ev) override |
| virtual void | mouseReleaseEvent(QMouseEvent *ev) override |
| virtual void | paintEvent(QPaintEvent *ev) override |
詳細な説明

スライダーは、範囲が定められた値を制御するための定番のウィジェットです。ユーザーはスライダーのハンドルを水平または垂直の溝に沿って移動させることができ、ハンドルの位置は有効範囲内の整数値に変換されます。
QSlider 自体に備わっている関数はごくわずかであり、機能の大部分は `QAbstractSlider` にあります。最も有用な関数は、スライダーを特定の値に直接設定する `setValue()`、クリックの効果をシミュレートする `triggerAction()`(ショートカットキーに有用)、ステップを設定する `setSingleStep()、setPageStep()(ステップの設定用)、setMinimum() およびsetMaximum()(スクロールバーの範囲を定義するため)です。
QSliderには、目盛りを制御するためのメソッドが用意されています。setTickPosition() を使用して目盛りの配置位置を指定し、setTickInterval() を使用して目盛りの数を指定できます。現在設定されている目盛りの位置と間隔は、それぞれtickPosition() およびtickInterval() 関数を使用して取得できます。
QSlider は、包括的なシグナルセットを継承しています:
| シグナル | 説明 |
|---|---|
| valueChanged() | スライダーの値が変更されたときに発火します。tracking() によって、このシグナルがユーザーの操作中に発火するかどうかが決まります。 |
| sliderPressed() | ユーザーがスライダーのドラッグを開始したときに発火します。 |
| sliderMoved() | ユーザーがスライダーをドラッグしたときに発火します。 |
| sliderReleased() | ユーザーがスライダーを離したときに発火します。 |
QSlider は整数の範囲のみを提供します。QSlider は非常に大きな数値も扱えますが、範囲が広すぎるとユーザーがスライダーを正確に操作しにくくなる点に注意してください。
スライダーは Tab キーでフォーカスを受け付け、マウスホイールとキーボードの両方のインターフェースを提供します。キーボードインターフェースは以下の通りです:
- 左/右キー:水平スライダーを1ステップずつ移動させます。
- 上/下キー:垂直スライダーを1ステップずつ移動します。
- PageUpキーを押すと、1ページ分上に移動します。
- PageDown キーを押すと、1ページ下へ移動します。
- Homeキー:先頭(最小値)に移動します。
- End:末尾(最大値)に移動します。
関連項目: QScrollBar 、QSpinBox 、QDial 、および「スライダーの例」。
メンバー型のドキュメント
enum QSlider::TickPosition
この列挙型は、スライダーの溝およびユーザーが動かすハンドルに対して、目盛りをどこに描画するかを指定します。
| 定数 | 値 | 説明 |
|---|---|---|
QSlider::NoTicks | 0 | 目盛りを一切描画しません。 |
QSlider::TicksBothSides | 3 | 溝の両側に目盛線を引きます。 |
QSlider::TicksAbove | 1 | (水平)スライダーの上に目盛りを描画する |
QSlider::TicksBelow | 2 | (水平方向の)スライダーの下に目盛線を引く |
QSlider::TicksLeft | TicksAbove | (垂直)スライダーの左側に目盛りを描画します。 |
QSlider::TicksRight | TicksBelow | (垂直)スライダーの右側に目盛りを描画してください |
プロパティのドキュメント
tickInterval : int
このプロパティは、目盛りの間隔を指定します
これはピクセル単位の間隔ではなく、値単位の間隔です。0 に設定すると、スライダーはsingleStepとpageStepのいずれかを選択します。
デフォルトは0 です。負の値は無効であるため、0 にクリップされます。
アクセス関数:
| int | tickInterval() const |
| void | setTickInterval(int ti) |
tickPosition 、singleStep 、およびpageStepも参照してください 。
tickPosition : TickPosition
このプロパティは、このスライダーの目盛りの位置を保持します
有効な値は、QSlider::TickPosition 列挙型で定義されています。
デフォルト値は `QSlider::NoTicks` です。
アクセス関数:
| QSlider::TickPosition | tickPosition() const |
| void | setTickPosition(QSlider::TickPosition position) |
「tickInterval」も参照してください 。
メンバ関数のドキュメント
[explicit] QSlider::QSlider(QWidget *parent = nullptr)
指定されたparent を使用して、縦型スライダーを作成します。
[explicit] QSlider::QSlider(Qt::Orientation orientation, QWidget *parent = nullptr)
指定されたparent を使用してスライダーを作成します。orientation パラメータは、スライダーを水平にするか垂直にするかを決定します。有効な値は、Qt::Vertical およびQt::Horizontal です。
[virtual noexcept] QSlider::~QSlider()
このスライダーを削除します。
[override virtual] bool QSlider::event(QEvent *event)
QAbstractSlider::event(QEvent *e) を再実装します。
[virtual protected] void QSlider::initStyleOption(QStyleOptionSlider *option) const
option を、QSlider に記載されている値を用いて初期化します。このメソッドは、QStyleOptionSlider が必要であるものの、すべての情報を自分で入力したくないサブクラスにとって便利です。
QStyleOption::initFrom()も参照してください 。
[override virtual] QSize QSlider::minimumSizeHint() const
プロパティ「QWidget::minimumSizeHint 」のアクセス関数を再実装します。
[override virtual protected] void QSlider::mouseMoveEvent(QMouseEvent *ev)
QWidget::mouseMoveEvent(QMouseEvent *event) を再実装します。
[override virtual protected] void QSlider::mousePressEvent(QMouseEvent *ev)
QWidget::mousePressEvent(QMouseEvent *event) を再実装します。
[override virtual protected] void QSlider::mouseReleaseEvent(QMouseEvent *ev)
QWidget::mouseReleaseEvent(QMouseEvent *event) を再実装します。
[override virtual protected] void QSlider::paintEvent(QPaintEvent *ev)
QWidget::paintEvent(QPaintEvent *event) を再実装します。
[override virtual] QSize QSlider::sizeHint() const
プロパティ「QWidget::sizeHint 」のアクセス関数を再実装します。
© 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.