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ステップ移動させます。
  • Up/Downは垂直方向のスライダーを1ステップ移動します。
  • PageUp は1ページ分上に移動します。
  • PageDownは1ページ下に移動します。
  • Homeは開始位置(最小)に移動します。
  • Endは最後(最大)に移動する。

QScrollBar,QSpinBox,QDial,Sliders Exampleも参照のこと

メンバー・タイプのドキュメント

enum QSlider::TickPosition

この列挙型は、スライダの溝とユーザが動かしたハンドルの相対的な位置にティックマークを描画する場所を指定します。

定数説明
QSlider::NoTicks0目盛りマークを描画しません。
QSlider::TicksBothSides3溝の両側に目盛りマークを描画します。
QSlider::TicksAbove1(水平)スライダーの上に目盛りマークを描く。
QSlider::TicksBelow2(水平)スライダーの下に目盛りマークを描く
QSlider::TicksLeftTicksAbove(縦)スライダーの左に目盛りマークを描く
QSlider::TicksRightTicksBelow(縦)スライダーの右側にテロップを描く

プロパティの説明

tickInterval : int

このプロパティは、目盛りの間隔を保持する。

これはピクセル間隔ではなく、値間隔です。これが0の場合、スライダーはsingleStepとpageStepのどちらかを選択します。

デフォルト値は0です。

アクセス関数:

int tickInterval() const
void setTickInterval(int ti)

tickPositionsingleSteppageStepも参照

tickPosition : TickPosition

このプロパティは、このスライダーのティックマーク位置を保持します。

有効な値はQSlider::TickPosition enumで記述されています。

デフォルト値は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::VerticalQt::Horizontal です。

[virtual noexcept] QSlider::~QSlider()

このスライダーを破壊する。

[override virtual] bool QSlider::event(QEvent *event)

再インプリメント:QAbstractSlider::event(QEvent *e).

[virtual protected] void QSlider::initStyleOption(QStyleOptionSlider *option) const

QSlider の値でoption を初期化する。このメソッドは、サブクラスが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

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