QDial Class
La clase QDial proporciona un control de rango redondeado (como un velocímetro o un potenciómetro). Más...
| Cabecera: | #include <QDial> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS Widgets)target_link_libraries(mytarget PRIVATE Qt6::Widgets) |
| qmake: | QT += widgets |
| Hereda: | QAbstractSlider |
Propiedades
- notchSize : int
- notchTarget : qreal
- notchesVisible : bool
- wrapping : bool
Funciones públicas
| QDial(QWidget *parent = nullptr) | |
| virtual | ~QDial() |
| int | notchSize() const |
| qreal | notchTarget() const |
| bool | notchesVisible() const |
| void | setNotchTarget(double target) |
| bool | wrapping() const |
Funciones públicas reimplementadas
| virtual QSize | minimumSizeHint() const override |
| virtual QSize | sizeHint() const override |
Ranuras públicas
| void | setNotchesVisible(bool visible) |
| void | setWrapping(bool on) |
Funciones protegidas
| virtual void | initStyleOption(QStyleOptionSlider *option) const |
Funciones protegidas reimplementadas
| 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 |
Descripción Detallada

QDial se utiliza cuando el usuario necesita controlar un valor dentro de un rango definible por el programa, y el rango o bien es envolvente (por ejemplo, con ángulos medidos de 0 a 359 grados) o el diseño del diálogo necesita un widget cuadrado.
Dado que QDial hereda de QAbstractSlider, el dial se comporta de manera similar a un slider. Cuando wrapping() es falso (la configuración por defecto) no hay diferencia real entre un deslizador y un dial. Ambos comparten las mismas señales, ranuras y funciones miembro. Cuál utilizar dependerá de las expectativas de los usuarios y del tipo de aplicación.
El dial emite inicialmente señales valueChanged() de forma continua mientras se mueve el deslizador; puedes hacer que emita la señal con menos frecuencia desactivando la propiedad tracking. La señal sliderMoved() se emite continuamente incluso cuando el seguimiento está desactivado.
El dial también emite señales sliderPressed() y sliderReleased() cuando se pulsa y suelta el botón del ratón. Tenga en cuenta que el valor del dial puede cambiar sin que se emitan estas señales, ya que el teclado y la rueda también se pueden utilizar para cambiar el valor.
A diferencia del deslizador, QDial intenta dibujar un "buen" número de muescas en lugar de una por paso de línea. Si es posible, el número de muescas dibujadas es una por paso de línea, pero si no hay suficientes píxeles para dibujar cada una, QDial omitirá muescas para intentar dibujar un conjunto uniforme (por ejemplo, dibujando cada segunda o tercera muesca).
Al igual que el deslizador, el dial hace que la función QAbstractSlider setValue () esté disponible como ranura.
La interfaz de teclado del dial es bastante sencilla: Las teclas de flecha left/up y right/down ajustan el value del dial por el singleStep definido, Page Up y Page Down por el pageStep definido, y las teclas Home y End ajustan el valor a los valores minimum y maximum definidos.
Si utiliza la rueda del ratón para ajustar el dial, el valor de incremento se determina por el valor menor de wheelScrollLines multiplicado por singleStep, y pageStep.
Véase también QScrollBar, QSpinBox, QSlider, y Ejemplo de deslizadores.
Documentación de propiedades
[read-only] notchSize : int
Esta propiedad contiene el tamaño actual de la muesca
El tamaño de la muesca está en unidades de control de rango, no en píxeles, y se calcula para que sea un múltiplo de singleStep() que dé como resultado un tamaño de muesca en pantalla cercano a notchTarget().
Funciones de acceso:
| int | notchSize() const |
Véase también notchTarget() y singleStep().
notchTarget : qreal
Esta propiedad contiene el número objetivo de píxeles entre muescas
El objetivo de muesca es el número de píxeles que QDial intenta colocar entre cada muesca.
El tamaño real puede diferir del tamaño objetivo.
El objetivo de muesca por defecto es de 3,7 píxeles.
Funciones de acceso:
| qreal | notchTarget() const |
| void | setNotchTarget(double target) |
notchesVisible : bool
Esta propiedad indica si se muestran las muescas
Si la propiedad es true, se dibujan una serie de muescas alrededor del dial para indicar el rango de valores disponibles; en caso contrario no se muestra ninguna muesca.
Por defecto, esta propiedad está desactivada.
Funciones de acceso:
| bool | notchesVisible() const |
| void | setNotchesVisible(bool visible) |
wrapping : bool
Esta propiedad indica si el ajuste está activado
Si es true, el ajuste está habilitado; en caso contrario, se inserta un espacio en la parte inferior del dial para separar los extremos del rango de valores válidos.
Si está habilitada, la flecha puede orientarse en cualquier ángulo del dial. Si está desactivada, la flecha quedará restringida a la parte superior del dial; si se gira hacia el espacio de la parte inferior del dial, quedará sujeta al extremo más cercano del rango de valores válidos.
Por defecto, esta propiedad es false.
Funciones de acceso:
| bool | wrapping() const |
| void | setWrapping(bool on) |
Documentación de las funciones miembro
[explicit] QDial::QDial(QWidget *parent = nullptr)
Construye una esfera.
El argumento parent se envía al constructor QAbstractSlider.
[virtual noexcept] QDial::~QDial()
Destruye el dial.
[override virtual protected] bool QDial::event(QEvent *e)
Reimplementa: QAbstractSlider::event(QEvent *e).
[virtual protected] void QDial::initStyleOption(QStyleOptionSlider *option) const
Inicializa option con los valores de este QDial. Este método es útil para subclases cuando necesitan un QStyleOptionSlider, pero no quieren rellenar toda la información ellos mismos.
Véase también QStyleOption::initFrom().
[override virtual] QSize QDial::minimumSizeHint() const
Reimplementa una función de acceso para la propiedad: QWidget::minimumSizeHint.
[override virtual protected] void QDial::mouseMoveEvent(QMouseEvent *e)
Reimplementa: QWidget::mouseMoveEvent(QMouseEvent *event).
[override virtual protected] void QDial::mousePressEvent(QMouseEvent *e)
Reimplementa: QWidget::mousePressEvent(QMouseEvent *event).
[override virtual protected] void QDial::mouseReleaseEvent(QMouseEvent *e)
Reimplementa: QWidget::mouseReleaseEvent(QMouseEvent *event).
[override virtual protected] void QDial::paintEvent(QPaintEvent *pe)
Reimplementa: QWidget::paintEvent(QPaintEvent *event).
[override virtual protected] void QDial::resizeEvent(QResizeEvent *e)
Reimplementa: QWidget::resizeEvent(QResizeEvent *event).
[override virtual] QSize QDial::sizeHint() const
Reimplementa una función de acceso para la propiedad: QWidget::sizeHint.
[override virtual protected] void QDial::sliderChange(QAbstractSlider::SliderChange change)
Reimplementa: QAbstractSlider::sliderChange(cambio de QAbstractSlider::SliderChange).
© 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.