QAbstractSlider Class
QAbstractSlider 클래스는 특정 범위 내의 정수 값을 제공합니다. 더 보기...
| 헤더: | #include <QAbstractSlider> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS Widgets) target_link_libraries(mytarget PRIVATE Qt6::Widgets) |
| qmake: | QT += widgets |
| 상속: | QWidget |
| 상속 대상: | QDial, ` QScrollBar` 및 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 과 같은 위젯을 위한 공통 슈퍼 클래스로 설계되었습니다.
이 클래스의 주요 속성은 다음과 같습니다:
- value: QAbstractSlider가 관리하는 유계 정수입니다.
- minimum: 가능한 가장 작은 값입니다.
- maximum: 가능한 최대값입니다.
- singleStep: 추상 슬라이더가 제공하는 두 가지 자연스러운 단계 중 더 작은 단계로, 일반적으로 사용자가 화살표 키를 누를 때 해당합니다.
- pageStep: 추상 슬라이더가 제공하는 두 가지 자연스러운 단계 중 더 큰 단계로, 일반적으로 사용자가 PageUp 또는 PageDown 키를 누르는 동작에 해당합니다.
- tracking: 슬라이더 추적 기능이 활성화되어 있는지 여부.
- sliderPosition: 슬라이더의 현재 위치. tracking 가 활성화된 경우(기본값), 이 값은 value 과 동일합니다.
Unity(1)은 세 번째 단계 크기로 볼 수 있습니다. ` setValue()`를 사용하면 현재 값을 허용된 범위 내의 임의의 정수로 설정할 수 있으며, 정수 n에 대한 ` minimum()` + ` n* singleStep()`에 국한되지 않습니다. 일부 위젯은 사용자가 임의의 값을 설정할 수 있도록 허용하는 반면, 다른 위젯은 ` singleStep()` 또는 ` pageStep()`의 배수만 제공할 수도 있습니다.
QAbstractSlider는 다음과 같은 포괄적인 신호 집합을 발생시킵니다:
| 신호 | 다음과 같은 경우에 발생합니다 |
|---|---|
| valueChanged() | 값이 변경되었을 때 발생합니다. ` tracking `는 사용자 상호작용 중에 이 신호가 발생 여부를 결정합니다. |
| sliderPressed() | 사용자가 슬라이더를 드래그하기 시작할 때. |
| sliderMoved() | 사용자가 슬라이더를 드래그합니다. |
| sliderReleased() | 사용자가 슬라이더를 놓습니다. |
| actionTriggered() | 슬라이더 액션이 트리거되었습니다. |
| rangeChanged() | 범위가 변경되었습니다. |
QAbstractSlider는 슬라이더의 화면 표시를 업데이트하는 데 적합한 가상 함수 sliderChange()를 제공합니다. 하위 클래스는 triggerAction()를 호출하여 슬라이더 액션을 트리거합니다. 두 개의 헬퍼 함수 QStyle::sliderPositionFromValue()와 QStyle::sliderValueFromPosition()는 하위 클래스와 스타일이 화면 좌표를 논리적 범위 값으로 매핑하는 데 도움을 줍니다.
QAbstractSpinBox, QSlider, QDial, QScrollBar 및 ‘슬라이더 예제’도 참조하십시오 .
멤버 유형 문서
enum QAbstractSlider::SliderAction
| 상수 | 상수 |
|---|---|
QAbstractSlider::SliderNoAction | 0 |
QAbstractSlider::SliderSingleStepAdd | 1 |
QAbstractSlider::SliderSingleStepSub | 2 |
QAbstractSlider::SliderPageStepAdd | 3 |
QAbstractSlider::SliderPageStepSub | 4 |
QAbstractSlider::SliderToMinimum | 5 |
QAbstractSlider::SliderToMaximum | 6 |
QAbstractSlider::SliderMove | 7 |
enum QAbstractSlider::SliderChange
| 상수 | 상수 |
|---|---|
QAbstractSlider::SliderRangeChange | 0 |
QAbstractSlider::SliderOrientationChange | 1 |
QAbstractSlider::SliderStepsChange | 2 |
QAbstractSlider::SliderValueChange | 3 |
속성 문서
invertedAppearance : bool
이 속성은 슬라이더가 값을 반전된 형태로 표시할지 여부를 결정합니다.
이 속성이 ' false '(기본값)인 경우, 상속된 위젯의 최소값과 최대값은 기존 위치에 표시됩니다. 값이 'true'인 경우, 최소값과 최대값은 반대 위치에 표시됩니다.
참고: 이 속성은 슬라이더와 다이얼에서 가장 유용합니다. 스크롤 바의 경우, 스크롤 바 하위 컨트롤의 시각적 효과는 스타일이 반전된 모양을 지원하는지 여부에 따라 달라지며, 대부분의 스타일은 스크롤 바에 대해 이 속성을 무시합니다.
액세스 함수:
| bool | invertedAppearance() const |
| void | setInvertedAppearance(bool) |
invertedControls : bool
이 속성은 슬라이더가 휠 및 키 이벤트를 반전시키는지 여부를 나타냅니다.
이 속성이 ` false`인 경우, 마우스 휠을 "위쪽"으로 스크롤하거나 Page Up과 같은 키를 사용하면 슬라이더의 값이 최대값 쪽으로 증가합니다. 그렇지 않은 경우, 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
이 속성은 페이지 이동 단계를 저장합니다.
추상 슬라이더가 제공하는 두 가지 자연스러운 단계 중 더 큰 단계이며, 일반적으로 사용자가 PageUp 또는 PageDown 키를 누르는 동작에 해당합니다.
Access 함수:
| int | pageStep() const |
| void | setPageStep(int) |
singleStep도 참조하십시오 .
singleStep : int
이 속성은 단일 단계에 해당합니다.
추상 슬라이더가 제공하는 두 가지 자연스러운 단계 중 더 작은 단계이며, 일반적으로 사용자가 화살표 키를 누르는 동작에 해당합니다.
자동 반복 키 이벤트 중에 이 속성이 수정되면 동작은 정의되지 않습니다.
액세스 함수:
| int | singleStep() const |
| void | setSingleStep(int) |
pageStep도 참조하십시오 .
sliderDown : bool
이 속성은 슬라이더가 눌려 있는지를 나타냅니다.
이 속성은 추상 슬라이더가 ` tracking `에 어떤 효과가 있는지 여부를 알 수 있도록 하위 클래스에서 설정합니다.
sliderDown 속성이 변경되면 sliderPressed() 및 sliderReleased() 신호가 발생합니다.
액세스 함수:
| bool | isSliderDown() const |
| void | setSliderDown(bool) |
sliderPosition : int
이 속성은 슬라이더의 현재 위치를 저장합니다.
tracking 가 활성화된 경우(기본값), 이 속성은 value 와 동일합니다.
액세스 함수:
| int | sliderPosition() const |
| void | setSliderPosition(int) |
알림 신호:
| 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)
QWidget::keyPressEvent(QKeyEvent *event)를 재구현합니다.
[signal] void QAbstractSlider::rangeChanged(int min, int max)
이 신호는 슬라이더 범위가 변경되었을 때 발생하며, min 은 새로운 최소값이고, max 은 새로운 최대값입니다.
[protected] QAbstractSlider::SliderAction QAbstractSlider::repeatAction() const
현재 반복 동작을 반환합니다.
setRepeatAction()도 참조하십시오 .
[slot] void QAbstractSlider::setRange(int min, int max)
슬라이더의 최소값을 min 로, 최대값을 max 로 설정합니다.
max 가 min 보다 작을 경우, min 가 유일한 유효한 값이 됩니다.
[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 가 true이고 슬라이더가 이동할 때 이 신호가 발생합니다. 이는 대개 사용자가 슬라이더를 드래그할 때 발생합니다. 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)를 재구현합니다.
© 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.