QDial Class
QDial 클래스는 속도계나 전위차계와 같은 둥근 범위 제어 기능을 제공합니다. 더 보기...
헤더: | #include <QDial> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS Widgets) target_link_libraries(mytarget PRIVATE Qt6::Widgets) |
qmake: | QT += widgets |
상속합니다: | QAbstractSlider |
속성
- notchSize : const int
- notchTarget : qreal
- notchesVisible : bool
- wrapping : bool
공용 함수
QDial(QWidget *parent = nullptr) | |
virtual | ~QDial() |
int | notchSize() const |
qreal | notchTarget() const |
bool | notchesVisible() const |
void | setNotchTarget(double target) |
bool | wrapping() const |
재구현된 공용 함수
virtual QSize | minimumSizeHint() const override |
virtual QSize | sizeHint() const override |
공개 슬롯
void | setNotchesVisible(bool visible) |
void | setWrapping(bool on) |
보호된 함수
virtual void | initStyleOption(QStyleOptionSlider *option) const |
재구현된 보호 함수
virtual bool | event(QEvent *e) override |
virtual void | mouseMoveEvent(QMouseEvent *e) override |
virtual void | mousePressEvent(QMouseEvent *e) override |
virtual void | mouseReleaseEvent(QMouseEvent *e) override |
virtual void | paintEvent(QPaintEvent *pe) override |
virtual void | resizeEvent(QResizeEvent *e) override |
virtual void | sliderChange(QAbstractSlider::SliderChange change) override |
상세 설명
QDial은 사용자가 프로그램 정의 가능한 범위 내에서 값을 제어해야 하고 범위가 감싸거나(예: 0도에서 359도까지 측정된 각도) 대화 상자 레이아웃에 사각형 위젯이 필요할 때 사용됩니다.
QDial은 QAbstractSlider 에서 상속되므로 다이얼은 slider 과 유사한 방식으로 작동합니다. wrapping()가 거짓(기본 설정)인 경우 슬라이더와 다이얼 간에 실질적인 차이는 없습니다. 둘 다 동일한 신호, 슬롯 및 멤버 함수를 공유합니다. 어느 것을 사용할지는 사용자의 기대치와 애플리케이션 유형에 따라 달라집니다.
다이얼은 처음에 슬라이더가 움직이는 동안 valueChanged() 신호를 지속적으로 방출하며, tracking 속성을 비활성화하여 신호 방출 빈도를 줄일 수 있습니다. sliderMoved () 신호는 추적이 비활성화되어 있어도 계속 발신됩니다.
다이얼은 마우스 버튼을 눌렀다 놓을 때 sliderPressed() 및 sliderReleased() 신호도 방출합니다. 키보드와 휠을 사용하여 값을 변경할 수도 있으므로 이러한 신호가 방출되지 않아도 다이얼의 값이 변경될 수 있습니다.
슬라이더와 달리 QDial은 한 줄 단계당 노치 수가 아니라 "좋은" 노치 수를 그리려고 시도합니다. 가능하면 선 단계당 노치 수를 하나씩 그리지만, 픽셀이 충분하지 않아 모든 노치를 그릴 수 없는 경우 QDial은 노치를 건너뛰고 균일한 세트를 그리려고 시도합니다(예: 두 번째 또는 세 번째 노치마다 그리는 방식).
슬라이더와 마찬가지로 다이얼은 QAbstractSlider 기능 setValue()을 슬롯으로 사용할 수 있습니다.
다이얼의 키보드 인터페이스는 매우 간단합니다: left /up 및 right/down 화살표 키는 다이얼의 value 을 정의된 singleStep, Page Up 및 Page Down 을 정의된 pageStep 로 조정하고, Home 및 End 키는 정의된 minimum 및 maximum 값으로 값을 설정합니다.
마우스 휠을 사용하여 다이얼을 조정하는 경우 증분 값은 wheelScrollLines 에 singleStep 과 pageStep 을 곱한 값 중 작은 값으로 결정됩니다.
QScrollBar, QSpinBox, QSlider 및 슬라이더 예시도참조하세요 .
속성 문서
[read-only]
notchSize : const int
이 속성은 현재 노치 크기를 보유합니다.
노치 크기는 픽셀이 아닌 범위 제어 단위이며 singleStep()의 배수로 계산되어 화면상의 노치 크기가 notchTarget()에 가까워집니다.
함수에 액세스합니다:
int | notchSize() const |
notchTarget() 및 singleStep()도 참조하세요 .
notchTarget : qreal
이 속성은 노치 사이의 목표 픽셀 수를 보유합니다.
노치 타겟은 QDial 이 각 노치 사이에 넣으려고 시도하는 픽셀 수입니다.
실제 크기는 목표 크기와 다를 수 있습니다.
기본 노치 타겟은 3.7픽셀입니다.
기능에 액세스합니다:
qreal | notchTarget() const |
void | setNotchTarget(double target) |
notchesVisible : bool
이 속성은 노치 표시 여부를 보유합니다.
속성이 true
인 경우 다이얼 주위에 일련의 노치가 그려져 사용 가능한 값의 범위를 나타내며, 그렇지 않으면 노치가 표시되지 않습니다.
기본적으로 이 속성은 비활성화되어 있습니다.
기능에 접근합니다:
bool | notchesVisible() const |
void | setNotchesVisible(bool visible) |
wrapping : bool
이 속성은 줄 바꿈 사용 여부를 보유합니다.
참이면 래핑이 활성화되고, 그렇지 않으면 유효한 값 범위의 끝을 구분하기 위해 다이얼 하단에 약간의 공백이 삽입됩니다.
활성화하면 화살표의 방향을 다이얼의 어떤 각도로든 지정할 수 있습니다. 비활성화하면 화살표는 다이얼의 상단으로 제한되며, 다이얼 하단의 공간으로 회전하면 유효한 값 범위의 가장 가까운 끝으로 고정됩니다.
기본적으로 이 속성은 false
입니다.
함수에 액세스합니다:
bool | wrapping() const |
void | setWrapping(bool on) |
멤버 함수 문서
[explicit]
QDial::QDial(QWidget *parent = nullptr)
다이얼을 생성합니다.
parent 인수는 QAbstractSlider 생성자로 전송됩니다.
[virtual noexcept]
QDial::~QDial()
다이얼을 파괴합니다.
[override virtual protected]
bool QDial::event(QEvent *e)
다시 구현합니다: QAbstractSlider::event(QEvent *e).
[virtual protected]
void QDial::initStyleOption(QStyleOptionSlider *option) const
QDial 의 값으로 option 을 초기화합니다. 이 메서드는 하위 클래스에 QStyleOptionSlider 이 필요하지만 모든 정보를 직접 채우고 싶지 않을 때 유용합니다.
QStyleOption::initFrom()도 참조하세요 .
[override virtual]
QSize QDial::minimumSizeHint() const
속성에 대한 액세스 함수를 다시 구현합니다: QWidget::minimumSizeHint.
[override virtual protected]
void QDial::mouseMoveEvent(QMouseEvent *e)
다시 구현합니다: QWidget::mouseMoveEvent(QMouseEvent * 이벤트).
[override virtual protected]
void QDial::mousePressEvent(QMouseEvent *e)
다시 구현합니다: QWidget::mousePressEvent(QMouseEvent * 이벤트).
[override virtual protected]
void QDial::mouseReleaseEvent(QMouseEvent *e)
다시 구현합니다: QWidget::mouseReleaseEvent(QMouseEvent * 이벤트).
[override virtual protected]
void QDial::paintEvent(QPaintEvent *pe)
다시 구현합니다: QWidget::paintEvent(QPaintEvent * 이벤트).
[override virtual protected]
void QDial::resizeEvent(QResizeEvent *e)
다시 구현합니다: QWidget::resizeEvent(QResizeEvent * 이벤트).
[override virtual]
QSize QDial::sizeHint() const
속성에 대한 액세스 함수를 다시 구현합니다: QWidget::sizeHint.
[override virtual protected]
void QDial::sliderChange(QAbstractSlider::SliderChange change)
재구현합니다: QAbstractSlider::sliderChange(QAbstractSlider::SliderChange 변경).
© 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.