このページでは

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 }

プロパティ

パブリック関数

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::NoTicks0目盛りを一切描画しません。
QSlider::TicksBothSides3溝の両側に目盛線を引きます。
QSlider::TicksAbove1(水平)スライダーの上に目盛りを描画する
QSlider::TicksBelow2(水平方向の)スライダーの下に目盛線を引く
QSlider::TicksLeftTicksAbove(垂直)スライダーの左側に目盛りを描画します。
QSlider::TicksRightTicksBelow(垂直)スライダーの右側に目盛りを描画してください

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

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.