QAbstractSlider Class
QAbstractSlider 클래스는 범위 내의 정수 값을 제공합니다. 더 보기...
Header: | #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 과 동일합니다.
(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
상수 | Value |
---|---|
QAbstractSlider::SliderRangeChange | 0 |
QAbstractSlider::SliderOrientationChange | 1 |
QAbstractSlider::SliderStepsChange | 2 |
QAbstractSlider::SliderValueChange | 3 |
속성 문서
invertedAppearance : bool
이 속성은 슬라이더의 값을 반전하여 표시할지 여부를 저장합니다.
이 속성이 false
(기본값)이면 상속된 위젯의 클래식 위치에 최소값과 최대값이 표시됩니다. 값이 참이면 최소값과 최대값이 반대 위치에 표시됩니다.
참고: 이 속성은 슬라이더와 다이얼에 가장 적합합니다. 스크롤 막대의 경우 스크롤 막대 하위 컨트롤의 시각적 효과는 스타일이 반전된 모양을 이해하는지 여부에 따라 달라지며, 대부분의 스타일은 스크롤 막대의 경우 이 속성을 무시합니다.
액세스 함수:
bool | invertedAppearance() const |
void | setInvertedAppearance(bool) |
invertedControls : bool
이 속성은 슬라이더의 휠 및 키 이벤트 반전 여부를 저장합니다.
이 속성이 false
인 경우 마우스 휠을 "위로" 스크롤하고 페이지 업과 같은 키를 사용하면 슬라이더의 값이 최대값으로 증가합니다. 그렇지 않으면 페이지 위로 키를 누르면 슬라이더의 값이 최소값으로 이동합니다.
기능에 액세스합니다:
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을 누르는 것에 해당합니다.
액세스 함수:
int | pageStep() const |
void | setPageStep(int) |
singleStep 를참조하세요 .
singleStep : int
이 속성은 단일 단계를 보유합니다.
추상 슬라이더가 제공하는 두 가지 자연스러운 단계 중 더 작은 단계로, 일반적으로 사용자가 화살표 키를 누르는 것에 해당합니다.
자동 반복 키 이벤트 중에 프로퍼티가 수정되면 동작이 정의되지 않습니다.
액세스 함수:
int | singleStep() const |
void | setSingleStep(int) |
pageStep 를참조하세요 .
sliderDown : bool
이 속성은 슬라이더가 눌렸는지 여부를 보유합니다.
이 속성은 추상 슬라이더에 tracking 의 효과가 있는지 여부를 알리기 위해 하위 클래스에 의해 설정됩니다.
슬라이더 아래로 속성을 변경하면 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 * 이벤트).
[override virtual protected]
bool QAbstractSlider::event(QEvent *e)
다시 구현합니다: QWidget::event(QEvent * 이벤트).
[override virtual protected]
void QAbstractSlider::keyPressEvent(QKeyEvent *ev)
다시 구현합니다: QWidget::keyPressEvent(QKeyEvent * 이벤트).
[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 가 참이고 슬라이더가 움직일 때 발생합니다. 일반적으로 사용자가 슬라이더를 드래그할 때 발생합니다. value 은 새로운 슬라이더 위치입니다.
이 신호는 트래킹이 꺼져 있는 경우에도 발생합니다.
참고: 속성에 대한 알림 신호 sliderPosition.
setTracking(), valueChanged(), isSliderDown(), sliderPressed() 및 sliderReleased()도 참조하세요 .
[signal]
void QAbstractSlider::sliderPressed()
이 신호는 사용자가 마우스로 슬라이더를 누르거나 프로그래밍 방식으로 setSliderDown(true)가 호출될 때 발생합니다.
sliderReleased(), sliderMoved() 및 isSliderDown()도 참조하세요 .
[signal]
void QAbstractSlider::sliderReleased()
이 신호는 사용자가 마우스로 슬라이더를 놓을 때 또는 프로그래밍 방식으로 setSliderDown(거짓)이 호출될 때 발생합니다.
sliderPressed(), sliderMoved() 및 sliderDown 를참조하세요 .
[override virtual protected]
void QAbstractSlider::timerEvent(QTimerEvent *e)
다시 구현합니다: QObject::timerEvent(Q타이머이벤트 *이벤트).
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 * 이벤트).
© 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.