이 페이지에서

QDial Class

QDial 클래스는 둥근 모양의 범위 컨트롤(속도계나 포텐셔미터 등)을 제공합니다. 더 보기...

헤더: #include <QDial>
CMake: find_package(Qt6 REQUIRED COMPONENTS Widgets)
target_link_libraries(mytarget PRIVATE Qt6::Widgets)
qmake: QT += widgets
상속: QAbstractSlider

속성

공개 함수

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()가 false(기본 설정)인 경우, 슬라이더와 다이얼 간에 실질적인 차이는 없습니다. 둘 다 동일한 신호, 슬롯 및 멤버 함수를 공유합니다. 어느 것을 사용할지는 사용자의 기대와 애플리케이션 유형에 따라 달라집니다.

다이얼은 처음에 슬라이더가 움직이는 동안 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 : 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

이 속성은 줄 바꿈이 활성화되어 있는지 여부를 나타냅니다.

true인 경우 줄 바꿈이 활성화되며, 그렇지 않은 경우 유효한 값 범위의 끝부분을 구분하기 위해 다이얼 하단에 약간의 공간이 삽입됩니다.

이 속성이 활성화되면 화살표는 다이얼의 어느 각도로든 배치될 수 있습니다. 비활성화되면 화살표는 다이얼 상단 부분으로만 제한되며, 다이얼 하단의 빈 공간으로 회전될 경우 유효 값 범위의 가장 가까운 끝 지점으로 고정됩니다.

기본적으로 이 속성은 ' 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

option 를 QDial 에 있는 값들로 초기화합니다. 이 메서드는 하위 클래스에서 QStyleOptionSlider 가 필요하지만, 모든 정보를 직접 입력하고 싶지 않을 때 유용합니다.

QStyleOption::initFrom()도 참조하십시오 .

[override virtual] QSize QDial::minimumSizeHint() const

QWidget::minimumSizeHint 속성에 대한 액세스 함수를 재구현합니다.

[override virtual protected] void QDial::mouseMoveEvent(QMouseEvent *e)

QWidget::mouseMoveEvent(QMouseEvent *event)를 재구현합니다.

[override virtual protected] void QDial::mousePressEvent(QMouseEvent *e)

QWidget::mousePressEvent(QMouseEvent *event)를 재구현합니다.

[override virtual protected] void QDial::mouseReleaseEvent(QMouseEvent *e)

QWidget::mouseReleaseEvent(QMouseEvent *event)를 재구현합니다.

[override virtual protected] void QDial::paintEvent(QPaintEvent *pe)

QWidget::paintEvent(QPaintEvent *event)를 재구현합니다.

[override virtual protected] void QDial::resizeEvent(QResizeEvent *e)

QWidget::resizeEvent(QResizeEvent *event)를 재구현합니다.

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

QWidget::sizeHint 속성에 대한 액세스 함수를 재구현합니다.

[override virtual protected] void QDial::sliderChange(QAbstractSlider::SliderChange change)

QAbstractSlider::sliderChange(QAbstractSlider::SliderChange change)를 재구현합니다.

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