QSlider 類

The QSlider 小部件提供垂直 (或水平) 滑塊。 更多...

頭: #include <QSlider>
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

靜態公共成員

const QMetaObject staticMetaObject

保護函數

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

額外繼承成員

詳細描述

The QSlider 小部件提供垂直 (或水平) 滑塊。

滑塊是用於控製有界值的經典 Widget。它讓用戶沿水平 (或垂直) 凹槽移動滑塊手柄,並將手柄位置翻譯成在閤法範圍內的整數值。

QSlider 擁有非常少的自己函數;大部分函數中 QAbstractSlider 。最有用的函數是 setValue () 直接將滑塊設置為某個值; triggerAction () 模擬點擊效果 (對於快捷鍵很有用); setSingleStep (), setPageStep () 設置步幅;而 setMinimum () 和 setMaximum () 定義滾動條的範圍。

QSlider 提供用於控製刻度綫的方法。可以使用 setTickPosition () 指示想要刻度標記在哪裏, setTickInterval () 指示想要它們多少。可以查詢目前設置的刻度位置和間隔,使用 tickPosition () 和 tickInterval () 函數,分彆。

QSlider 繼承瞭一組綜閤信號:

信號 描述
valueChanged () 發射當滑塊值改變時。tracking() 確定是否有發射此信號在用戶交互期間。
sliderPressed () 發射當用戶開始拖拽滑塊時。
sliderMoved () 發射當用戶拖拽滑塊時。
sliderReleased () 發射當用戶釋放滑塊時。

QSlider 僅提供整數範圍。注意,盡管 QSlider 能處理很大的數,但對用戶而言,在很大範圍內精確使用滑塊會變得睏難。

滑塊接受 Tab 聚焦,並提供鼠標滾輪及鍵盤接口。鍵盤接口如下:

  • 左/右箭頭水平移動滑塊一單步幅。
  • 上/下箭頭垂直移動滑塊一單步幅。
  • PageUp 鍵上移一頁。
  • PageDown 鍵下移一頁。
  • Home 鍵移至開頭 (最小)。
  • End 鍵移至結束 (最大)。

另請參閱 QScrollBar , QSpinBox , QDial , GUI 設計手冊:滑塊 ,和 滑塊範例 .

成員類型文檔編製

enum QSlider:: TickPosition

此枚舉指定相對滑塊凹槽和用戶移動手柄,在哪裏繪製刻度標記。

常量 描述
QSlider::NoTicks 0 不繪製任何刻度標記。
QSlider::TicksBothSides 3 在凹槽 2 側繪製刻度標記。
QSlider::TicksAbove 1 在 (水平) 滑塊上方繪製刻度標記
QSlider::TicksBelow 2 在 (水平) 滑塊下方繪製刻度標記
QSlider::TicksLeft TicksAbove 在 (垂直) 滑塊左側繪製刻度標記
QSlider::TicksRight TicksBelow 在 (垂直) 滑塊右側繪製刻度標記

特性文檔編製

tickInterval : int

此特性保持刻度標記之間的間隔

這是值間隔,不是像素間隔。若為 0,滑塊將選擇介於 singleStep and pageStep .

默認值為 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 .

成員函數文檔編製

QSlider:: QSlider ( QWidget * parent = nullptr)

構造垂直滑塊采用給定 parent .

QSlider:: QSlider ( Qt::Orientation orientation , QWidget * parent = nullptr)

構造滑塊采用給定 parent orientation 參數確定滑塊是水平的還是垂直的;有效值為 Qt::Vertical and Qt::Horizontal .

[虛擬] QSlider:: ~QSlider ()

銷毀此滑塊。

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

重實現自 QAbstractSlider::event ().

[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 ().

[override virtual protected] void QSlider:: mousePressEvent ( QMouseEvent * ev )

重實現自 QWidget::mousePressEvent ().

[override virtual protected] void QSlider:: mouseReleaseEvent ( QMouseEvent * ev )

重實現自 QWidget::mouseReleaseEvent ().

[override virtual protected] void QSlider:: paintEvent ( QPaintEvent * ev )

重實現自 QWidget::paintEvent ().

[override virtual] QSize QSlider:: sizeHint () const

重實現自 QWidget::sizeHint ().