En esta página

QStyle Class

La clase QStyle es una clase base abstracta que encapsula la apariencia de una interfaz gráfica de usuario. Más...

Cabecera: #include <QStyle>
CMake: find_package(Qt6 REQUIRED COMPONENTS Widgets)
target_link_libraries(mytarget PRIVATE Qt6::Widgets)
qmake: QT += widgets
Hereda: QObject
Heredado por:

QCommonStyle

Tipos Públicos

enum ComplexControl { CC_SpinBox, CC_ComboBox, CC_ScrollBar, CC_Slider, CC_ToolButton, …, CC_CustomBase }
enum ContentsType { CT_CheckBox, CT_ComboBox, CT_HeaderSection, CT_LineEdit, CT_Menu, …, CT_MdiControls }
enum ControlElement { CE_PushButton, CE_PushButtonBevel, CE_PushButtonLabel, CE_DockWidgetTitle, CE_Splitter, …, CE_ShapedFrame }
enum PixelMetric { PM_ButtonMargin, PM_DockWidgetTitleBarButtonMargin, PM_ButtonDefaultIndicator, PM_MenuButtonIndicator, PM_ButtonShiftHorizontal, …, PM_CustomBase }
enum PrimitiveElement { PE_PanelButtonCommand, PE_FrameDefaultButton, PE_PanelButtonBevel, PE_PanelButtonTool, PE_PanelLineEdit, …, PE_PanelMenu }
enum RequestSoftwareInputPanel { RSIP_OnMouseClickAndAlreadyFocused, RSIP_OnMouseClick }
enum StandardPixmap { SP_TitleBarMinButton, SP_TitleBarMenuButton, SP_TitleBarMaxButton, SP_TitleBarCloseButton, SP_TitleBarNormalButton, …, SP_CustomBase }
flags State
enum StateFlag { State_None, State_Active, State_AutoRaise, State_Children, State_DownArrow, …, State_Small }
enum StyleHint { SH_EtchDisabledText, SH_DitherDisabledText, SH_ScrollBar_ContextMenu, SH_ScrollBar_MiddleClickAbsolutePosition, SH_ScrollBar_LeftClickAbsolutePosition, …, SH_Table_AlwaysDrawLeftTopGridLines }
enum SubControl { SC_None, SC_ScrollBarAddLine, SC_ScrollBarSubLine, SC_ScrollBarAddPage, SC_ScrollBarSubPage, …, SC_All }
flags SubControls
enum SubElement { SE_PushButtonContents, SE_PushButtonFocusRect, SE_PushButtonLayoutItem, SE_PushButtonBevel, SE_CheckBoxIndicator, …, SE_ToolBarHandle }

Funciones públicas

QStyle()
virtual ~QStyle()
int combinedLayoutSpacing(QSizePolicy::ControlTypes controls1, QSizePolicy::ControlTypes controls2, Qt::Orientation orientation, QStyleOption *option = nullptr, QWidget *widget = nullptr) const
virtual void drawComplexControl(QStyle::ComplexControl control, const QStyleOptionComplex *option, QPainter *painter, const QWidget *widget = nullptr) const = 0
virtual void drawControl(QStyle::ControlElement element, const QStyleOption *option, QPainter *painter, const QWidget *widget = nullptr) const = 0
virtual void drawItemPixmap(QPainter *painter, const QRect &rectangle, int alignment, const QPixmap &pixmap) const
virtual void drawItemText(QPainter *painter, const QRect &rectangle, int alignment, const QPalette &palette, bool enabled, const QString &text, QPalette::ColorRole textRole = QPalette::NoRole) const
virtual void drawPrimitive(QStyle::PrimitiveElement element, const QStyleOption *option, QPainter *painter, const QWidget *widget = nullptr) const = 0
virtual QPixmap generatedIconPixmap(QIcon::Mode iconMode, const QPixmap &pixmap, const QStyleOption *option) const = 0
virtual QStyle::SubControl hitTestComplexControl(QStyle::ComplexControl control, const QStyleOptionComplex *option, const QPoint &position, const QWidget *widget = nullptr) const = 0
virtual QRect itemPixmapRect(const QRect &rectangle, int alignment, const QPixmap &pixmap) const
virtual QRect itemTextRect(const QFontMetrics &metrics, const QRect &rectangle, int alignment, bool enabled, const QString &text) const
virtual int layoutSpacing(QSizePolicy::ControlType control1, QSizePolicy::ControlType control2, Qt::Orientation orientation, const QStyleOption *option = nullptr, const QWidget *widget = nullptr) const = 0
(since 6.1) QString name() const
virtual int pixelMetric(QStyle::PixelMetric metric, const QStyleOption *option = nullptr, const QWidget *widget = nullptr) const = 0
virtual void polish(QWidget *widget)
virtual void polish(QApplication *application)
virtual void polish(QPalette &palette)
const QStyle *proxy() const
virtual QSize sizeFromContents(QStyle::ContentsType type, const QStyleOption *option, const QSize &contentsSize, const QWidget *widget = nullptr) const = 0
virtual QIcon standardIcon(QStyle::StandardPixmap standardIcon, const QStyleOption *option = nullptr, const QWidget *widget = nullptr) const = 0
virtual QPalette standardPalette() const
virtual int styleHint(QStyle::StyleHint hint, const QStyleOption *option = nullptr, const QWidget *widget = nullptr, QStyleHintReturn *returnData = nullptr) const = 0
virtual QRect subControlRect(QStyle::ComplexControl control, const QStyleOptionComplex *option, QStyle::SubControl subControl, const QWidget *widget = nullptr) const = 0
virtual QRect subElementRect(QStyle::SubElement element, const QStyleOption *option, const QWidget *widget = nullptr) const = 0
virtual void unpolish(QWidget *widget)
virtual void unpolish(QApplication *application)

Miembros públicos estáticos

QRect alignedRect(Qt::LayoutDirection direction, Qt::Alignment alignment, const QSize &size, const QRect &rectangle)
int sliderPositionFromValue(int min, int max, int logicalValue, int span, bool upsideDown = false)
int sliderValueFromPosition(int min, int max, int position, int span, bool upsideDown = false)
Qt::Alignment visualAlignment(Qt::LayoutDirection direction, Qt::Alignment alignment)
QPoint visualPos(Qt::LayoutDirection direction, const QRect &boundingRectangle, const QPoint &logicalPosition)
QRect visualRect(Qt::LayoutDirection direction, const QRect &boundingRectangle, const QRect &logicalRectangle)

Descripción Detallada

Qt contiene un conjunto de subclases QStyle que emulan los estilos de las diferentes plataformas soportadas por Qt (QWindowsStyle, QMacStyle etc.). Por defecto, estos estilos están integrados en el módulo Qt GUI. Los estilos también pueden estar disponibles como plugins.

Los widgets incorporados de Qt utilizan QStyle para realizar casi todos sus dibujos, asegurando que se vean exactamente igual que los widgets nativos equivalentes. El siguiente diagrama muestra un QComboBox en nueve estilos diferentes.

Nueve cuadros combinados con diferentes estilos

Temas:

Estableciendo un Estilo

El estilo de toda la aplicación puede establecerse utilizando la función QApplication::setStyle(). También puede ser especificado por el usuario de la aplicación, utilizando la opción de línea de comandos -style:

./myapplication -style windows

Si no se especifica ningún estilo, Qt elegirá el más apropiado para la plataforma o entorno de escritorio del usuario.

También se puede establecer un estilo en un widget individual utilizando la función QWidget::setStyle().

Desarrollo de widgets personalizados según el estilo

Si estás desarrollando widgets personalizados y quieres que se vean bien en todas las plataformas, puedes usar funciones QStyle para realizar partes del dibujo del widget, como drawItemText(), drawItemPixmap(), drawPrimitive(), drawControl(), y drawComplexControl().

La mayoría de las funciones de dibujo de QStyle toman cuatro argumentos:

  • un valor enum que especifica qué elemento gráfico dibujar
  • un QStyleOption que especifica cómo y dónde representar ese elemento
  • un QPainter que debe utilizarse para dibujar el elemento
  • un QWidget sobre el que se realiza el dibujo (opcional)

Por ejemplo, si quieres dibujar un rectángulo de enfoque en tu widget, puedes escribir:

void MyWidget::paintEvent(QPaintEvent * /* event */)
{
    QPainter painter(this);

    QStyleOptionFocusRect option;
    option.initFrom(this);
    option.backgroundColor = palette().color(QPalette::Window);

    style()->drawPrimitive(QStyle::PE_FrameFocusRect, &option, &painter, this);
}

QStyle obtiene toda la información que necesita para renderizar el elemento gráfico de QStyleOption. El widget se pasa como último argumento por si el estilo lo necesita para realizar efectos especiales (como los botones animados por defecto en macOS), pero no es obligatorio. De hecho, puedes usar QStyle para dibujar en cualquier dispositivo de pintura, no sólo widgets, configurando el QPainter adecuadamente.

QStyleOption tiene varias subclases para los distintos tipos de elementos gráficos que se pueden dibujar. Por ejemplo, PE_FrameFocusRect espera un argumento QStyleOptionFocusRect.

Para garantizar que las operaciones de dibujo sean lo más rápidas posible, QStyleOption y sus subclases tienen miembros de datos públicos. Consulte la documentación de la clase QStyleOption para más detalles sobre su uso.

Para mayor comodidad, Qt proporciona la clase QStylePainter, que combina un QStyle, un QPainter, y un QWidget. Esto hace posible escribir

    QStylePainter painter(this);
    ...
painter.drawPrimitive(QStyle::PE_FrameFocusRect, option);

en lugar de

QPainter painter(this);
    ...
style()->drawPrimitive(QStyle::PE_FrameFocusRect, &option, &painter, this);

Crear un estilo personalizado

Puedes crear una apariencia personalizada para tu aplicación creando un estilo personalizado. Existen dos métodos para crear un estilo personalizado. En el enfoque estático, puede elegir una clase QStyle existente, subclasificarla y reimplementar funciones virtuales para proporcionar el comportamiento personalizado, o crear una clase QStyle completa desde cero. En el enfoque dinámico, modificas el comportamiento de tu estilo de sistema en tiempo de ejecución. El enfoque estático se describe a continuación. El enfoque dinámico se describe en QProxyStyle.

El primer paso en el enfoque estático es elegir uno de los estilos proporcionados por Qt a partir del cual construirás tu estilo personalizado. Tu elección de la clase QStyle dependerá de qué estilo se parece más al que deseas. La clase más general que puedes usar como base es QCommonStyle (no QStyle). Esto se debe a que Qt requiere que sus estilos sean QCommonStyles.

Dependiendo de qué partes del estilo base quieras cambiar, deberás reimplementar las funciones que se utilizan para dibujar esas partes de la interfaz. Para ilustrar esto, modificaremos el aspecto de las flechas del cuadro de giro dibujadas por QWindowsStyle. Las flechas son elementos primitivos que son dibujados por la función drawPrimitive(), por lo que necesitamos reimplementar esa función. Necesitamos la siguiente declaración de clase:

class CustomStyle : public QProxyStyle
{
    Q_OBJECT

public:
    explicit CustomStyle(const QWidget *widget = nullptr);
    ~CustomStyle() {}

    void drawPrimitive(PrimitiveElement element, const QStyleOption *option,
                       QPainter *painter, const QWidget *widget) const override;
};

Para dibujar las flechas arriba y abajo, QSpinBox utiliza los elementos primitivos PE_IndicatorSpinUp y PE_IndicatorSpinDown. He aquí cómo reimplementar la función drawPrimitive() para dibujarlas de forma diferente:

void CustomStyle::drawPrimitive(PrimitiveElement element, const QStyleOption *option,
                                QPainter *painter, const QWidget *widget) const
{
    if (element == PE_IndicatorSpinUp || element == PE_IndicatorSpinDown) {
        QPolygon points(3);
        int x = option->rect.x();
        int y = option->rect.y();
        int w = option->rect.width() / 2;
        int h = option->rect.height() / 2;
        x += (option->rect.width() - w) / 2;
        y += (option->rect.height() - h) / 2;

        if (element == PE_IndicatorSpinUp) {
            points[0] = QPoint(x, y + h);
            points[1] = QPoint(x + w, y + h);
            points[2] = QPoint(x + w / 2, y);
        } else { // PE_SpinBoxDown
            points[0] = QPoint(x, y);
            points[1] = QPoint(x + w, y);
            points[2] = QPoint(x + w / 2, y + h);
        }

        if (option->state & State_Enabled) {
            painter->setPen(option->palette.mid().color());
            painter->setBrush(option->palette.buttonText());
        } else {
            painter->setPen(option->palette.buttonText().color());
            painter->setBrush(option->palette.mid());
        }
        painter->drawPolygon(points);
    } else {
        QProxyStyle::drawPrimitive(element, option, painter, widget);
    }
}

Observa que no usamos el argumento widget, excepto para pasarlo a la función QWindowStyle::drawPrimitive(). Como se ha mencionado antes, la información sobre lo que se va a dibujar y cómo se debe dibujar viene especificada por un objeto QStyleOption, por lo que no hay necesidad de preguntar al widget.

Si necesitas usar el argumento widget para obtener información adicional, ten cuidado de asegurarte de que no es 0 y de que es del tipo correcto antes de usarlo. Por ejemplo:

const QSpinBox *spinBox = qobject_cast<const QSpinBox *>(widget);
if (spinBox) {
    //...
}

Cuando implemente un estilo personalizado, no puede asumir que el widget es un QSpinBox sólo porque el valor del enum se llame PE_IndicatorSpinUp o PE_IndicatorSpinDown.

Advertencia: Las hojas de estilo Qt no están soportadas actualmente para las subclases personalizadas de QStyle. Planeamos solucionar esto en una futura versión.

Uso de un estilo personalizado

Hay varias formas de utilizar un estilo personalizado en una aplicación Qt. La forma más sencilla es pasar el estilo personalizado a la función estática QApplication::setStyle() antes de crear el objeto QApplication:

#include <QtWidgets>

#include "customstyle.h"

int main(int argc, char *argv[])
{
    QApplication::setStyle(new CustomStyle);
    QApplication app(argc, argv);
    QSpinBox spinBox;
    spinBox.show();
    return app.exec();
}

Puede llamar a QApplication::setStyle() en cualquier momento, pero llamándola antes del constructor, se asegura de que la preferencia del usuario, establecida usando la opción de línea de comandos -style, sea respetada.

Es posible que desee hacer que su estilo personalizado esté disponible para su uso en otras aplicaciones, que pueden no ser suyas y por lo tanto no estar disponibles para que usted las recompile. El sistema de plugins de Qt permite crear estilos como plugins. Los estilos creados como plugins son cargados como objetos compartidos en tiempo de ejecución por el propio Qt. Por favor, consulta la documentación de Qt Plugin para más información sobre cómo crear un plugin de estilo.

Compila tu plugin y ponlo en el directorio plugins/styles de Qt. Ahora tenemos un estilo pluggable que Qt puede cargar automáticamente. Para usar tu nuevo estilo con aplicaciones existentes, simplemente inicia la aplicación con el siguiente argumento:

./myapplication -style custom

La aplicación utilizará la apariencia del estilo personalizado que has implementado.

Escritorios de derecha a izquierda

Los idiomas que se escriben de derecha a izquierda (como el árabe y el hebreo) suelen reflejar también toda la disposición de los widgets, y requieren que la luz provenga de la esquina superior derecha de la pantalla en lugar de la superior izquierda.

Si creas un estilo personalizado, debes tener especial cuidado al dibujar elementos asimétricos para asegurarte de que también se ven correctamente en un diseño reflejado. Una forma sencilla de probar sus estilos es ejecutar aplicaciones con la opción de línea de comandos -reverse o llamar a QApplication::setLayoutDirection() en su función main().

Estas son algunas cosas que hay que tener en cuenta para que un estilo funcione bien en un entorno de derecha a izquierda:

  • subControlRect() y subElementRect() devuelven rectángulos en coordenadas de pantalla
  • QStyleOption::direction indica en qué dirección debe dibujarse el elemento
  • Si un estilo no está orientado de derecha a izquierda, mostrará los elementos como si estuviera orientado de izquierda a derecha.
  • visualRect(), visualPos(), y visualAlignment() son funciones útiles que traducirán de representaciones lógicas a representaciones en pantalla.
  • alignedRect() devolverá un rectángulo lógico alineado en la dirección actual.

Estilos en las vistas de elementos

El pintado de los elementos en las vistas es realizado por un delegado. El delegado por defecto de Qt, QStyledItemDelegate, también se utiliza para calcular los rectángulos delimitadores de los elementos, y sus subelementos para los distintos tipos de elemento data roles QStyledItemDelegate soporta. Consulta la descripción de la clase QStyledItemDelegate para saber qué tipos de datos y roles son compatibles. Puedes leer más sobre roles de datos de ítems en Programación Modelo/Vista.

Cuando QStyledItemDelegate pinta sus ítems, dibuja CE_ItemViewItem, y calcula su tamaño con CT_ItemViewItem. Observe también que utiliza SE_ItemViewItemText para establecer el tamaño de los editores. Cuando implemente un estilo para personalizar el dibujo de las vistas de ítems, necesita comprobar la implementación de QCommonStyle (y cualquier otra subclase de la que herede su estilo). De esta forma, averiguarás qué y cómo se pintan otros elementos del estilo, y podrás reimplementar el pintado de los elementos que deban dibujarse de forma diferente.

Incluimos un pequeño ejemplo en el que personalizamos el dibujo de los fondos de los elementos.

switch (element) {
    case (PE_PanelItemViewItem): {
        painter->save();

        QPoint topLeft = option->rect.topLeft();
        QPoint bottomRight = option->rect.topRight();
        QLinearGradient backgroundGradient(topLeft, bottomRight);
        backgroundGradient.setColorAt(0.0, QColor(Qt::yellow).lighter(190));
        backgroundGradient.setColorAt(1.0, Qt::white);
        painter->fillRect(option->rect, QBrush(backgroundGradient));

        painter->restore();
    break;
    }
    default:
        QProxyStyle::drawPrimitive(element, option, painter, widget);
}

El elemento primitivo PE_PanelItemViewItem es responsable de pintar el fondo de los elementos, y es llamado desde la implementación de QCommonStyle de CE_ItemViewItem.

Para añadir soporte al dibujo de nuevos tipos de datos y roles de datos de ítems, es necesario crear un delegado personalizado. Pero si sólo necesitas soportar los tipos de datos implementados por el delegado por defecto, un estilo personalizado no necesita un delegado que lo acompañe. La descripción de la clase QStyledItemDelegate ofrece más información sobre los delegados personalizados.

El dibujo de las cabeceras de los elementos de la vista también se realiza mediante el estilo, lo que permite controlar el tamaño de los elementos de la cabecera y los tamaños de las filas y columnas.

Véase también QStyleOption, QStylePainter, Styles and Style Aware Widgets, QStyledItemDelegate, y Styling.

Documentación de tipos de miembros

enum QStyle::ComplexControl

Este enum describe los controles complejos disponibles. Los controles complejos tienen un comportamiento diferente dependiendo de dónde haga clic el usuario sobre ellos o qué teclas se pulsen.

ConstanteValorDescripción
QStyle::CC_SpinBox0Un spinbox, como QSpinBox.
QStyle::CC_ComboBox1Un combobox, como QComboBox.
QStyle::CC_ScrollBar2Una barra de desplazamiento, como QScrollBar.
QStyle::CC_Slider3Un deslizador, como QSlider.
QStyle::CC_ToolButton4Un botón de herramienta, como QToolButton.
QStyle::CC_TitleBar5Una barra de título, como las utilizadas en QMdiSubWindow.
QStyle::CC_GroupBox7Un cuadro de grupo, como QGroupBox.
QStyle::CC_Dial6Un dial, como QDial.
QStyle::CC_MdiControls8Los botones minimizar, cerrar y normal de la barra de menús de una subventana MDI maximizada.
QStyle::CC_CustomBase0xf0000000Valor base para controles complejos personalizados. Los valores personalizados deben ser mayores que este valor.

Véase también SubControl y drawComplexControl().

enum QStyle::ContentsType

Este enum describe los tipos de contenido disponibles. Se utilizan para calcular los tamaños de los contenidos de varios widgets.

ConstanteValorDescripción
QStyle::CT_CheckBox1Una casilla de verificación, como QCheckBox.
QStyle::CT_ComboBox4Un cuadro combinado, como QComboBox.
QStyle::CT_HeaderSection19Una sección de encabezado, como QHeader.
QStyle::CT_LineEdit14Una edición de línea, como QLineEdit.
QStyle::CT_Menu10Un menú, como QMenu.
QStyle::CT_MenuBar9Una barra de menú, como QMenuBar.
QStyle::CT_MenuBarItem8Un elemento de la barra de menús, como los botones de QMenuBar.
QStyle::CT_MenuItem7Un elemento de menú, como QMenuItem.
QStyle::CT_ProgressBar6Una barra de progreso, como QProgressBar.
QStyle::CT_PushButton0Un botón pulsador, como QPushButton.
QStyle::CT_RadioButton2Un botón de radio, como QRadioButton.
QStyle::CT_SizeGrip16Un control de tamaño, como QSizeGrip.
QStyle::CT_Slider12Un deslizador, como QSlider.
QStyle::CT_ScrollBar13Una barra de desplazamiento, como QScrollBar.
QStyle::CT_SpinBox15Un cuadro de giro, como QSpinBox.
QStyle::CT_Splitter5Un divisor, como QSplitter.
QStyle::CT_TabBarTab11Una pestaña en una barra de pestañas, como QTabBar.
QStyle::CT_TabWidget17Un widget de pestañas, como QTabWidget.
QStyle::CT_ToolButton3Un botón de herramienta, como QToolButton.
QStyle::CT_GroupBox20Un cuadro de grupo, como QGroupBox.
QStyle::CT_ItemViewItem22Un elemento dentro de una vista de elemento.
QStyle::CT_CustomBase0xf0000000Valor base para los tipos de contenido personalizados. Los valores personalizados deben ser mayores que este valor.
QStyle::CT_MdiControls21Los botones minimizar, normal y cerrar de la barra de menús para una subventana MDI maximizada.

Véase también sizeFromContents().

enum QStyle::ControlElement

Este enum representa un elemento de control. Un elemento de control es una parte de un widget que realiza alguna acción o muestra información al usuario.

ConstanteValorDescripción
QStyle::CE_PushButton0A QPushButton, dibuja CE_PushButtonBevel, CE_PushButtonLabel y PE_FrameFocusRect.
QStyle::CE_PushButtonBevel1El bisel y el indicador por defecto de un QPushButton.
QStyle::CE_PushButtonLabel2La etiqueta (un icono con texto o pixmap) de un QPushButton.
QStyle::CE_DockWidgetTitle30Título de la ventana acoplable.
QStyle::CE_Splitter28Asa del divisor; véase también QSplitter.
QStyle::CE_CheckBox3Un QCheckBox, dibuja un PE_IndicatorCheckBox, un CE_CheckBoxLabel y un PE_FrameFocusRect.
QStyle::CE_CheckBoxLabel4La etiqueta (texto o pixmap) de un QCheckBox.
QStyle::CE_RadioButton5A QRadioButton, dibuja un PE_IndicatorRadioButton, un CE_RadioButtonLabel y un PE_FrameFocusRect.
QStyle::CE_RadioButtonLabel6La etiqueta (texto o pixmap) de un QRadioButton.
QStyle::CE_TabBarTab7La pestaña y la etiqueta dentro de un QTabBar.
QStyle::CE_TabBarTabShape8La forma de la pestaña dentro de una barra de pestañas.
QStyle::CE_TabBarTabLabel9La etiqueta dentro de una pestaña.
QStyle::CE_ProgressBar10Un QProgressBar, dibuja CE_ProgressBarGroove, CE_ProgressBarContents y CE_ProgressBarLabel.
QStyle::CE_ProgressBarGroove11La ranura donde se dibuja el indicador de progreso en un QProgressBar.
QStyle::CE_ProgressBarContents12El indicador de progreso de un QProgressBar.
QStyle::CE_ProgressBarLabel13La etiqueta de texto de un QProgressBar.
QStyle::CE_ToolButtonLabel22La etiqueta de un botón de herramienta.
QStyle::CE_MenuBarItem20Un elemento de menú en un QMenuBar.
QStyle::CE_MenuBarEmptyArea21El área vacía de QMenuBar.
QStyle::CE_MenuItem14Un elemento de menú en QMenu.
QStyle::CE_MenuScroller15Áreas de desplazamiento en QMenu cuando el estilo admite el desplazamiento.
QStyle::CE_MenuTearoff18Elemento de menú que representa la sección separable de QMenu.
QStyle::CE_MenuEmptyArea19El área de un menú sin elementos de menú.
QStyle::CE_MenuHMargin17El espacio horizontal extra a la izquierda/derecha de un menú.
QStyle::CE_MenuVMargin16El espacio vertical extra en la parte superior/inferior de un menú.
QStyle::CE_ToolBoxTab26La pestaña y la etiqueta de la caja de herramientas dentro de un QToolBox.
QStyle::CE_SizeGrip27Asa de redimensionamiento de la ventana; véase también QSizeGrip.
QStyle::CE_Header23Una cabecera.
QStyle::CE_HeaderSection24Una sección de cabecera.
QStyle::CE_HeaderLabel25La etiqueta de la cabecera.
QStyle::CE_ScrollBarAddLine31Indicador de aumento de línea de la barra de desplazamiento. (es decir, desplazamiento hacia abajo); véase también QScrollBar.
QStyle::CE_ScrollBarSubLine32Indicador de disminución de línea de la barra de desplazamiento (es decir, desplazamiento hacia arriba).
QStyle::CE_ScrollBarAddPage33Indicador de aumento de página de la barra de desplazamiento (es decir, desplazamiento hacia abajo).
QStyle::CE_ScrollBarSubPage34Indicador de disminución de página de la barra de desplazamiento (es decir, página arriba).
QStyle::CE_ScrollBarSlider35Deslizador de la barra de desplazamiento.
QStyle::CE_ScrollBarFirst36Indicador de primera línea de la barra de desplazamiento (inicio).
QStyle::CE_ScrollBarLast37Indicador de la última línea de la barra de desplazamiento (fin).
QStyle::CE_RubberBand29Banda elástica utilizada, por ejemplo, en una vista de iconos.
QStyle::CE_FocusFrame38Marco de enfoque controlado por estilo.
QStyle::CE_ItemViewItem45Un elemento dentro de una vista de elementos.
QStyle::CE_CustomBase0xf0000000Valor base para elementos de control personalizados; los valores personalizados deben ser mayores que este valor.
QStyle::CE_ComboBoxLabel39La etiqueta de un elemento no editable QComboBox.
QStyle::CE_ToolBar40Una barra de herramientas como QToolBar.
QStyle::CE_ToolBoxTabShape41La forma de la pestaña de la caja de herramientas.
QStyle::CE_ToolBoxTabLabel42La etiqueta de la pestaña de la caja de herramientas.
QStyle::CE_HeaderEmptyArea43El área de una vista de cabecera donde no hay secciones de cabecera.
QStyle::CE_ShapedFrame46El marco con la forma especificada en QStyleOptionFrame; véase QFrame.

Véase también drawControl().

enum QStyle::PixelMetric

Este enum describe las distintas métricas de píxel disponibles. Una métrica de píxel es un tamaño dependiente del estilo representado por un único valor de píxel.

ConstanteValorDescripción
QStyle::PM_ButtonMargin0Cantidad de espacio en blanco entre las etiquetas de los botones y el marco.
QStyle::PM_DockWidgetTitleBarButtonMargin73Cantidad de espacio en blanco entre las etiquetas de los botones de la barra de título del widget dock y el marco.
QStyle::PM_ButtonDefaultIndicator1Anchura del marco indicador del botón por defecto.
QStyle::PM_MenuButtonIndicator2Anchura del indicador del botón de menú proporcional a la altura del widget.
QStyle::PM_ButtonShiftHorizontal3Desplazamiento horizontal del contenido de un botón cuando está pulsado.
QStyle::PM_ButtonShiftVertical4Desplazamiento vertical del contenido de un botón cuando está pulsado.
QStyle::PM_DefaultFrameWidth5Anchura del marco por defecto (normalmente 2).
QStyle::PM_SpinBoxFrameWidth6Ancho de marco de un cuadro giratorio, por defecto PM_DefaultFrameWidth.
QStyle::PM_ComboBoxFrameWidth7Ancho de marco de un cuadro combinado, por defecto PM_DefaultFrameWidth.
QStyle::PM_MdiSubWindowFrameWidth44Anchura de marco de una ventana MDI.
QStyle::PM_MdiSubWindowMinimizedWidth45Anchura de una ventana MDI minimizada.
QStyle::PM_LayoutLeftMargin75Por defecto left margin para QLayout.
QStyle::PM_LayoutTopMargin76Por defecto top margin para QLayout.
QStyle::PM_LayoutRightMargin77Por defecto right margin para QLayout.
QStyle::PM_LayoutBottomMargin78Por defecto bottom margin para QLayout.
QStyle::PM_LayoutHorizontalSpacing79Por defecto horizontal spacing para QLayout.
QStyle::PM_LayoutVerticalSpacing80Por defecto vertical spacing para QLayout.
QStyle::PM_MaximumDragDistance8La distancia máxima permitida entre el ratón y una barra de desplazamiento al arrastrar. Si se supera la distancia especificada, la barra de desplazamiento saltará a la posición original; un valor de -1 desactiva este comportamiento.
QStyle::PM_ScrollBarExtent9La anchura de una barra de desplazamiento vertical y la altura de una barra de desplazamiento horizontal.
QStyle::PM_ScrollBarSliderMin10La altura mínima del deslizador de una barra de desplazamiento vertical y la anchura mínima del deslizador de una barra de desplazamiento horizontal.
QStyle::PM_SliderThickness11Grosor total del control deslizante.
QStyle::PM_SliderControlThickness12Grosor del control deslizante.
QStyle::PM_SliderLength13Longitud de la barra deslizante.
QStyle::PM_SliderTickmarkOffset14Desplazamiento entre las marcas y la barra deslizante.
QStyle::PM_SliderSpaceAvailable15El espacio disponible para el desplazamiento de la barra deslizante.
QStyle::PM_DockWidgetSeparatorExtent16Anchura de un separador en una ventana acoplable horizontal y altura de un separador en una ventana acoplable vertical.
QStyle::PM_DockWidgetHandleExtent17Anchura del tirador en una ventana acoplable horizontal y altura del tirador en una ventana acoplable vertical.
QStyle::PM_DockWidgetFrameWidth18Anchura del marco de una ventana acoplable.
QStyle::PM_DockWidgetTitleMargin70Margen del título de la ventana acoplable.
QStyle::PM_MenuBarPanelWidth33Anchura del marco de una barra de menús, por defecto PM_DefaultFrameWidth.
QStyle::PM_MenuBarItemSpacing34Espacio entre los elementos de la barra de menús.
QStyle::PM_MenuBarHMargin36Espacio entre los elementos de la barra de menú y la izquierda/derecha de la barra.
QStyle::PM_MenuBarVMargin35Espacio entre los elementos de la barra de menú y la parte superior/inferior de la barra.
QStyle::PM_ToolBarFrameWidth52Anchura del marco alrededor de las barras de herramientas.
QStyle::PM_ToolBarHandleExtent53Anchura del asa de una barra de herramientas en una barra de herramientas horizontal y altura del asa en una barra de herramientas vertical.
QStyle::PM_ToolBarItemMargin55Espacio entre el marco de la barra de herramientas y los elementos.
QStyle::PM_ToolBarItemSpacing54Espacio entre los elementos de la barra de herramientas.
QStyle::PM_ToolBarSeparatorExtent56Anchura de un separador de barra de herramientas en una barra de herramientas horizontal y altura de un separador en una barra de herramientas vertical.
QStyle::PM_ToolBarExtensionExtent57Anchura de un botón de extensión de la barra de herramientas en una barra de herramientas horizontal y altura del botón en una barra de herramientas vertical.
QStyle::PM_TabBarTabOverlap19Número de píxeles que deben solaparse las pestañas. (Actualmente sólo se utiliza en los estilos, no dentro de QTabBar)
QStyle::PM_TabBarTabHSpace20Espacio extra añadido a la anchura de la pestaña.
QStyle::PM_TabBarTabVSpace21Espacio extra añadido a la altura de la pestaña.
QStyle::PM_TabBarBaseHeight22Altura del área entre la barra de pestañas y las etiquetas.
QStyle::PM_TabBarBaseOverlap23Número de píxeles que la barra de pestañas se solapa con la base de la barra de pestañas.
QStyle::PM_TabBarScrollButtonWidth51
QStyle::PM_TabBarTabShiftHorizontal49Desplazamiento horizontal de píxeles cuando se selecciona una pestaña.
QStyle::PM_TabBarTabShiftVertical50Desplazamiento vertical de píxeles cuando se selecciona una pestaña.
QStyle::PM_ProgressBarChunkWidth24Anchura de un trozo en un indicador de barra de progreso.
QStyle::PM_SplitterWidth25Anchura de un divisor.
QStyle::PM_TitleBarHeight26Altura de la barra de título.
QStyle::PM_IndicatorWidth37Anchura de un indicador de casilla de verificación.
QStyle::PM_IndicatorHeight38Altura de un indicador de casilla de verificación.
QStyle::PM_ExclusiveIndicatorWidth39Anchura de un indicador de botón de radio.
QStyle::PM_ExclusiveIndicatorHeight40Altura de un indicador de botón de radio.
QStyle::PM_MenuPanelWidth30Anchura del borde (aplicado en todos los lados) para un QMenu.
QStyle::PM_MenuHMargin28Borde adicional (utilizado a izquierda y derecha) para un QMenu.
QStyle::PM_MenuVMargin29Borde adicional (utilizado en la parte inferior y superior) para un QMenu.
QStyle::PM_MenuScrollerHeight27Altura del área de desplazamiento en un QMenu.
QStyle::PM_MenuTearoffHeight31Altura del área de corte en QMenu.
QStyle::PM_MenuDesktopFrameWidth32La anchura del marco para el menú en el escritorio.
QStyle::PM_HeaderMarkSize47El tamaño del indicador de ordenación en una cabecera.
QStyle::PM_HeaderGripMargin48El tamaño del indicador de redimensionamiento en una cabecera.
QStyle::PM_HeaderMargin46El tamaño del margen entre el indicador de ordenación y el texto.
QStyle::PM_SpinBoxSliderHeight58La altura del control deslizante opcional del cuadro de giro.
QStyle::PM_ToolBarIconSize59Tamaño por defecto de los iconos de la barra de herramientas
QStyle::PM_SmallIconSize62Tamaño por defecto del icono pequeño
QStyle::PM_LargeIconSize63Tamaño por defecto del icono grande
QStyle::PM_FocusFrameHMargin65Margen horizontal con el que el marco de enfoque superará al widget.
QStyle::PM_FocusFrameVMargin64Margen vertical con el que el marco de enfoque superará al widget.
QStyle::PM_IconViewIconSize61Tamaño por defecto de los iconos en una vista de iconos.
QStyle::PM_ListViewIconSize60Tamaño por defecto de los iconos en una vista de lista.
QStyle::PM_ToolTipLabelFrameWidth66La anchura del marco para una etiqueta de sugerencia de herramienta.
QStyle::PM_CheckBoxLabelSpacing67El espacio entre el indicador de una casilla de verificación y su etiqueta.
QStyle::PM_RadioButtonLabelSpacing74El espacio entre el indicador de un botón de radio y su etiqueta.
QStyle::PM_TabBarIconSize68El tamaño por defecto de los iconos de la barra de pestañas.
QStyle::PM_SizeGripSize69El tamaño de una pinza de tamaño.
QStyle::PM_MessageBoxIconSize71El tamaño de los iconos estándar de un cuadro de mensaje.
QStyle::PM_ButtonIconSize72El tamaño por defecto de los iconos de los botones.
QStyle::PM_TextCursorWidth82La anchura del cursor en una edición de línea o de texto.
QStyle::PM_TabBar_ScrollButtonOverlap81La distancia entre los botones izquierdo y derecho en una barra de pestañas.
QStyle::PM_TabCloseIndicatorWidth83La anchura por defecto de un botón de cierre en una pestaña de una barra de pestañas.
QStyle::PM_TabCloseIndicatorHeight84La altura por defecto de un botón de cierre en una pestaña en una barra de pestañas.
QStyle::PM_ScrollView_ScrollBarSpacing85Distancia entre el marco y la barra de desplazamiento con SH_ScrollView_FrameOnlyAroundContents configurado.
QStyle::PM_ScrollView_ScrollBarOverlap86Solapamiento entre barras de desplazamiento y contenido de desplazamiento
QStyle::PM_SubMenuOverlap87El solapamiento horizontal entre un submenú y su padre.
QStyle::PM_TreeViewIndentation (since Qt 5.4)88La sangría de los elementos en una vista de árbol.
QStyle::PM_HeaderDefaultSectionSizeHorizontal89El tamaño por defecto de las secciones en una cabecera horizontal. Este valor enum se ha introducido en Qt 5.5.
QStyle::PM_HeaderDefaultSectionSizeVertical90El tamaño por defecto de las secciones en una cabecera vertical. Este valor enum ha sido introducido en Qt 5.5.
QStyle::PM_TitleBarButtonIconSize (since Qt 5.8)91El tamaño de los iconos de botón en una barra de título.
QStyle::PM_TitleBarButtonSize (since Qt 5.8)92El tamaño de los botones en una barra de título.
QStyle::PM_LineEditIconSize (since Qt 6.2)93El tamaño por defecto de los iconos en una línea de edición.
QStyle::PM_LineEditIconMargin (since Qt 6.3)94El margen alrededor de los iconos en una línea de edición.
QStyle::PM_CustomBase0xf0000000Valor base para las métricas de píxeles personalizadas. Los valores personalizados deben ser mayores que este valor.

Véase también pixelMetric().

enum QStyle::PrimitiveElement

Este enum describe los distintos elementos primitivos. Un elemento primitivo es un elemento GUI común, como un indicador de casilla de verificación o el bisel de un botón.

ConstanteValorDescripción
QStyle::PE_PanelButtonCommand13Botón utilizado para iniciar una acción, por ejemplo, un QPushButton.
QStyle::PE_FrameDefaultButton1Marco alrededor de un botón predeterminado, por ejemplo, en un cuadro de diálogo.
QStyle::PE_PanelButtonBevel14Panel genérico con un botón biselado.
QStyle::PE_PanelButtonTool15Panel para un botón de herramienta, utilizado con QToolButton.
QStyle::PE_PanelLineEdit18Panel para un QLineEdit.
QStyle::PE_IndicatorButtonDropDown24Indicador para un botón desplegable, por ejemplo, un botón de herramienta que muestra un menú.
QStyle::PE_FrameFocusRect3Indicador genérico de enfoque.
QStyle::PE_IndicatorArrowUp22Flecha genérica hacia arriba.
QStyle::PE_IndicatorArrowDown19Flecha genérica hacia abajo.
QStyle::PE_IndicatorArrowRight21Flecha derecha genérica.
QStyle::PE_IndicatorArrowLeft20Flecha izquierda genérica.
QStyle::PE_IndicatorSpinUp35Símbolo hacia arriba para un widget de giro, por ejemplo QSpinBox.
QStyle::PE_IndicatorSpinDown32Símbolo hacia abajo para un widget de giro.
QStyle::PE_IndicatorSpinPlus34Símbolo de aumento para un widget de giro.
QStyle::PE_IndicatorSpinMinus33Símbolo de disminución para un widget de giro.
QStyle::PE_IndicatorItemViewItemCheck25Indicador de activación/desactivación de un elemento de la vista.
QStyle::PE_IndicatorCheckBox26Indicador de encendido/apagado, por ejemplo, un QCheckBox.
QStyle::PE_IndicatorRadioButton31Indicador de encendido/apagado exclusivo, por ejemplo, QRadioButton.
QStyle::PE_IndicatorDockWidgetResizeHandle27Indicador de cambio de tamaño para ventanas acoplables.
QStyle::PE_Frame0Marco genérico
QStyle::PE_FrameMenu6Marco para ventanas emergentes/menús; véase también QMenu.
QStyle::PE_PanelMenuBar16Panel para barras de menú.
QStyle::PE_PanelScrollAreaCorner40Panel en la esquina inferior derecha (o inferior izquierda) de un área de desplazamiento.
QStyle::PE_FrameDockWidget2Marco de panel para ventanas acoplables y barras de herramientas.
QStyle::PE_FrameTabWidget8Marco para widgets de pestañas.
QStyle::PE_FrameLineEdit5Marco de panel para ediciones de línea.
QStyle::PE_FrameGroupBox4Marco de panel alrededor de cuadros de grupo.
QStyle::PE_FrameButtonBevel10Marco de panel para un bisel de botón.
QStyle::PE_FrameButtonTool11Marco de panel para un botón de herramienta.
QStyle::PE_IndicatorHeaderArrow28Flecha utilizada para indicar la ordenación en la cabecera de una lista o tabla.
QStyle::PE_FrameStatusBarItem7Marco para un elemento de una barra de estado; véase también QStatusBar.
QStyle::PE_FrameWindow9Marco alrededor de una ventana MDI o de una ventana acoplable.
QStyle::PE_IndicatorMenuCheckMark29Marca de verificación utilizada en un menú.
QStyle::PE_IndicatorProgressChunk30Sección de un indicador de barra de progreso; véase también QProgressBar.
QStyle::PE_IndicatorBranch23Líneas utilizadas para representar las ramas de un árbol en una vista de árbol.
QStyle::PE_IndicatorToolBarHandle36El asa de una barra de herramientas.
QStyle::PE_IndicatorToolBarSeparator37El separador de una barra de herramientas.
QStyle::PE_PanelToolBar17El panel de una barra de herramientas.
QStyle::PE_PanelTipLabel38El panel para una etiqueta de consejo.
QStyle::PE_FrameTabBarBase12El marco que se dibuja para una barra de pestañas, normalmente se dibuja para una barra de pestañas que no forma parte de un widget de pestañas.
QStyle::PE_IndicatorTabTear39Obsoleto. Utilice PE_IndicatorTabTearLeft en su lugar.
QStyle::PE_IndicatorTabTearLeftPE_IndicatorTabTearIndicador de que una pestaña está parcialmente desplazada a la izquierda de la barra de pestañas visible cuando hay muchas pestañas.
QStyle::PE_IndicatorTabTearRight49Indicador de que una pestaña está parcialmente desplazada a la derecha de la barra de pestañas visible cuando hay muchas pestañas.
QStyle::PE_IndicatorColumnViewArrow42Una flecha en QColumnView.
QStyle::PE_Widget41Un plano QWidget.
QStyle::PE_CustomBase0xf000000Valor base para elementos primitivos personalizados. Todos los valores por encima de éste se reservan para uso personalizado. Los valores personalizados deben ser mayores que este valor.
QStyle::PE_IndicatorItemViewItemDrop43Un indicador que se dibuja para mostrar dónde se va a soltar un elemento en una vista de elementos durante una operación de arrastrar y soltar en una vista de elementos.
QStyle::PE_PanelItemViewItem44El fondo de un elemento en una vista de elementos.
QStyle::PE_PanelItemViewRow45El fondo de una fila en una vista de elementos.
QStyle::PE_PanelStatusBar46El panel de una barra de estado.
QStyle::PE_IndicatorTabClose47El botón de cierre de una barra de pestañas.
QStyle::PE_PanelMenu48El panel de un menú.

Véase también drawPrimitive().

enum QStyle::RequestSoftwareInputPanel

Este enum describe en qué circunstancias un panel de entrada de software será solicitado por los widgets con capacidad de entrada.

ConstanteValorDescripción
QStyle::RSIP_OnMouseClickAndAlreadyFocused0Solicita un panel de entrada si el usuario hace clic en el widget, pero sólo si ya está enfocado.
QStyle::RSIP_OnMouseClick1Solicita un panel de entrada si el usuario hace clic en el widget.

Véase también QInputMethod.

enum QStyle::StandardPixmap

Este enum describe los mapas de píxeles estándar disponibles. Un mapa de píxeles estándar es un mapa de píxeles que puede seguir algún estilo o pauta de GUI existente.

ConstanteValorDescripción
QStyle::SP_TitleBarMinButton1Botón de minimizar en las barras de título (por ejemplo, en QMdiSubWindow).
QStyle::SP_TitleBarMenuButton0Botón de menú en una barra de título.
QStyle::SP_TitleBarMaxButton2Botón de maximizar en las barras de título.
QStyle::SP_TitleBarCloseButton3Botón Cerrar en las barras de título.
QStyle::SP_TitleBarNormalButton4Botón Normal (restaurar) en las barras de título.
QStyle::SP_TitleBarShadeButton5Botón de sombreado en las barras de título.
QStyle::SP_TitleBarUnshadeButton6Botón para quitar el sombreado en las barras de título.
QStyle::SP_TitleBarContextHelpButton7El botón Ayuda contextual en las barras de título.
QStyle::SP_MessageBoxInformation9El icono "información".
QStyle::SP_MessageBoxWarning10El icono "advertencia".
QStyle::SP_MessageBoxCritical11El icono "crítico".
QStyle::SP_MessageBoxQuestion12El icono "pregunta".
QStyle::SP_DesktopIcon13El icono "escritorio".
QStyle::SP_TrashIcon14El icono "papelera".
QStyle::SP_ComputerIcon15El icono "Mi PC".
QStyle::SP_DriveFDIcon16El icono del disquete.
QStyle::SP_DriveHDIcon17El icono del disco duro.
QStyle::SP_DriveCDIcon18El icono del CD.
QStyle::SP_DriveDVDIcon19El icono del DVD.
QStyle::SP_DriveNetIcon20El icono de red.
QStyle::SP_DirHomeIcon56El icono del directorio principal.
QStyle::SP_DirOpenIcon21El icono del directorio abierto.
QStyle::SP_DirClosedIcon22El icono del directorio cerrado.
QStyle::SP_DirIcon38El icono del directorio.
QStyle::SP_DirLinkIcon23El icono de enlace al directorio.
QStyle::SP_DirLinkOpenIcon24El icono de enlace al directorio abierto.
QStyle::SP_FileIcon25El icono de archivo.
QStyle::SP_FileLinkIcon26El enlace al icono de archivo.
QStyle::SP_FileDialogStart29El icono de "inicio" en un diálogo de archivo.
QStyle::SP_FileDialogEnd30El icono de "fin" en un diálogo de archivo.
QStyle::SP_FileDialogToParent31El icono "directorio principal" en un diálogo de archivo.
QStyle::SP_FileDialogNewFolder32El icono "crear nueva carpeta" en un diálogo de archivo.
QStyle::SP_FileDialogDetailedView33El icono de vista detallada en un diálogo de archivo.
QStyle::SP_FileDialogInfoView34El icono de información de un archivo.
QStyle::SP_FileDialogContentsView35El icono de vista de contenido en un diálogo de archivo.
QStyle::SP_FileDialogListView36El icono de vista de lista en un diálogo de archivo.
QStyle::SP_FileDialogBack37La flecha hacia atrás en un diálogo de archivo.
QStyle::SP_DockWidgetCloseButton8Botón de cierre en las ventanas acoplables (véase también QDockWidget).
QStyle::SP_ToolBarHorizontalExtensionButton27Botón de extensión para barras de herramientas horizontales.
QStyle::SP_ToolBarVerticalExtensionButton28Botón de extensión para barras de herramientas verticales.
QStyle::SP_DialogOkButton39Icono de un botón estándar OK en QDialogButtonBox.
QStyle::SP_DialogCancelButton40Icono de un botón estándar de Cancelar en QDialogButtonBox.
QStyle::SP_DialogHelpButton41Icono de un botón estándar de Ayuda en QDialogButtonBox.
QStyle::SP_DialogOpenButton42Icono para un botón estándar Abrir en QDialogButtonBox.
QStyle::SP_DialogSaveButton43Icono para un botón estándar Guardar en QDialogButtonBox.
QStyle::SP_DialogCloseButton44Icono para un botón estándar Cerrar en QDialogButtonBox.
QStyle::SP_DialogApplyButton45Icono para un botón estándar Aplicar en QDialogButtonBox.
QStyle::SP_DialogResetButton46Icono para un botón estándar Reiniciar en QDialogButtonBox.
QStyle::SP_DialogDiscardButton47Icono para un botón estándar Descartar en QDialogButtonBox.
QStyle::SP_DialogYesButton48Icono para un botón estándar Sí en QDialogButtonBox.
QStyle::SP_DialogNoButton49Icono para un botón estándar No en QDialogButtonBox.
QStyle::SP_ArrowUp50Icono flecha apuntando hacia arriba.
QStyle::SP_ArrowDown51Icono flecha hacia abajo.
QStyle::SP_ArrowLeft52Icono flecha apuntando a la izquierda.
QStyle::SP_ArrowRight53Icono flecha hacia la derecha.
QStyle::SP_ArrowBack54Equivale a SP_ArrowLeft cuando la dirección de la presentación actual es Qt::LeftToRight, de lo contrario SP_ArrowRight.
QStyle::SP_ArrowForward55Equivale a SP_ArrowRight cuando la dirección del diseño actual es Qt::LeftToRight, en caso contrario SP_ArrowLeft.
QStyle::SP_CommandLink57Icono utilizado para indicar un glifo de enlace de comando estilo Vista.
QStyle::SP_VistaShield58Icono utilizado para indicar avisos UAC en Windows Vista. Devolverá un pixmap o icono nulo en el resto de plataformas.
QStyle::SP_BrowserReload59Icono que indica que se debe recargar la página actual.
QStyle::SP_BrowserStop60Icono que indica que debe detenerse la carga de la página.
QStyle::SP_MediaPlay61Icono que indica que el contenido multimedia debe comenzar a reproducirse.
QStyle::SP_MediaStop62Icono que indica que el medio debe detener la reproducción.
QStyle::SP_MediaPause63Icono que indica que el medio debe pausar la reproducción.
QStyle::SP_MediaSkipForward64Icono que indica que el medio debe saltar hacia adelante.
QStyle::SP_MediaSkipBackward65Icono que indica que el medio debe saltar hacia atrás.
QStyle::SP_MediaSeekForward66Icono que indica que el soporte debe buscar hacia delante.
QStyle::SP_MediaSeekBackward67Icono que indica que el soporte debe buscar hacia atrás.
QStyle::SP_MediaVolume68Icono de control de volumen.
QStyle::SP_MediaVolumeMuted69Icono que indica un control de volumen silenciado.
QStyle::SP_LineEditClearButton (since Qt 5.2)70Icono de un botón estándar de borrado en QLineEdit.
QStyle::SP_DialogYesToAllButton (since Qt 5.14)71Icono de un botón estándar YesToAll en QDialogButtonBox.
QStyle::SP_DialogNoToAllButton (since Qt 5.14)72Icono de un botón estándar NoToAll en QDialogButtonBox.
QStyle::SP_DialogSaveAllButton (since Qt 5.14)73Icono de un botón estándar SaveAll en QDialogButtonBox.
QStyle::SP_DialogAbortButton (since Qt 5.14)74Icono de un botón estándar Abortar en QDialogButtonBox.
QStyle::SP_DialogRetryButton (since Qt 5.14)75Icono de un botón estándar Reintentar en QDialogButtonBox.
QStyle::SP_DialogIgnoreButton (since Qt 5.14)76Icono de un botón estándar Ignorar en QDialogButtonBox.
QStyle::SP_RestoreDefaultsButton (since Qt 5.14)77Icono para un botón estándar RestoreDefaults en QDialogButtonBox.
QStyle::SP_TabCloseButton (since Qt 6.3)78Icono para el botón Cerrar en la pestaña de un QTabBar.
QStyle::SP_CustomBase0xf0000000Valor base para los mapas de píxeles estándar personalizados; los valores personalizados deben ser mayores que este valor.

Véase también standardIcon().

enum QStyle::StateFlag
banderas QStyle::State

Este enum describe las banderas que se utilizan al dibujar elementos primitivos.

Ten en cuenta que no todas las primitivas usan todas estas banderas, y que las banderas pueden significar cosas diferentes para elementos diferentes.

ConstanteValorDescripción
QStyle::State_None0x00000000Indica que el widget no tiene estado.
QStyle::State_Active0x00010000Indica que el widget está activo.
QStyle::State_AutoRaise0x00001000Se utiliza para indicar si se debe utilizar la apariencia de subida automática en un botón de herramienta.
QStyle::State_Children0x00080000Sirve para indicar si una rama de la vista de elementos tiene hijos.
QStyle::State_DownArrow0x00000040Se utiliza para indicar si una flecha hacia abajo debe ser visible en el widget.
QStyle::State_Editing0x00400000Obsoleto. Ya no se utiliza porque el editor se dibuja sobre la celda del itemview.
QStyle::State_Enabled0x00000001Se usa para indicar si el widget está habilitado.
QStyle::State_HasEditFocus0x01000000Se usa para indicar si el widget tiene actualmente el foco de edición.
QStyle::State_HasFocus0x00000100Se usa para indicar si el widget tiene foco.
QStyle::State_Horizontal0x00000080Indica si el widget está dispuesto horizontalmente, por ejemplo, una barra de herramientas.
QStyle::State_KeyboardFocusChange0x00800000Se utiliza para indicar si el foco se cambió con el teclado, por ejemplo, tabulación, retrotabulación o acceso directo.
QStyle::State_MouseOver0x00002000Sirve para indicar si el widget está bajo el ratón.
QStyle::State_NoChange0x00000010Se utiliza para indicar una casilla de verificación triestado.
QStyle::State_Off0x00000008Sirve para indicar si el widget no está marcado.
QStyle::State_On0x00000020Sirve para indicar si el widget está marcado.
QStyle::State_Raised0x00000002Sirve para indicar si un botón está levantado.
QStyle::State_ReadOnly0x02000000Sirve para indicar si un widget es de sólo lectura.
QStyle::State_Selected0x00008000Se utiliza para indicar si un widget está seleccionado.
QStyle::State_Item0x00100000Se utiliza en las vistas de elementos para indicar si se debe dibujar una rama horizontal.
QStyle::State_Open0x00040000Se utiliza en las vistas de elementos para indicar si la rama del árbol está abierta.
QStyle::State_Sibling0x00200000Utilizado por las vistas de elementos para indicar si se debe dibujar una línea vertical (para hermanos).
QStyle::State_Sunken0x00000004Se utiliza para indicar si el widget está hundido o presionado.
QStyle::State_UpArrow0x00004000Se utiliza para indicar si debe aparecer una flecha hacia arriba en el widget.
QStyle::State_Mini0x08000000Se utiliza para indicar un widget o botón Mac de estilo mini.
QStyle::State_Small0x04000000Se utiliza para indicar un widget o botón Mac de estilo pequeño.

El tipo State es un typedef para QFlags<StateFlag>. Almacena una combinación OR de valores StateFlag.

Véase también drawPrimitive().

enum QStyle::StyleHint

Este enum describe los consejos de estilo disponibles. Una sugerencia de estilo es una sugerencia general de aspecto y/o sensación.

ConstanteValorDescripción
QStyle::SH_EtchDisabledText0El texto desactivado se "graba" como en Windows.
QStyle::SH_DitherDisabledText1El texto deshabilitado es "dithered" como en Motif.
QStyle::SH_ScrollBar_ContextMenu62Si una barra de desplazamiento tiene o no menú contextual.
QStyle::SH_ScrollBar_MiddleClickAbsolutePosition2Valor booleano. Si es verdadero, al hacer clic en el centro de una barra de desplazamiento, el deslizador salta a esa posición. Si es falso, se ignora.
QStyle::SH_ScrollBar_LeftClickAbsolutePosition39Valor booleano. Si es verdadero, al hacer clic con el botón izquierdo en una barra de desplazamiento, el control deslizante salta a esa posición. Si es falso, el clic con el botón izquierdo se comportará como corresponda para cada control.
QStyle::SH_ScrollBar_ScrollWhenPointerLeavesControl3Un valor booleano. Si es verdadero, al hacer clic en una barra de desplazamiento SubControl, manteniendo pulsado el botón del ratón y moviendo el puntero fuera de SubControl, la barra de desplazamiento continúa desplazándose. Si es false, la barra de desplazamiento deja de desplazarse cuando el puntero sale de SubControl.
QStyle::SH_ScrollBar_RollBetweenButtons63Un valor booleano. Si es verdadero, al hacer clic en un botón de la barra de desplazamiento (SC_ScrollBarAddLine o SC_ScrollBarSubLine) y arrastrar hasta el botón opuesto (rodante) se pulsará el nuevo botón y se soltará el antiguo. Cuando es falso, el botón original se libera y no pasa nada (como un pulsador).
QStyle::SH_TabBar_Alignment5La alineación para las pestañas en un QTabWidget. Los valores posibles son Qt::AlignLeft, Qt::AlignCenter y Qt::AlignRight.
QStyle::SH_Header_ArrowAlignment6La colocación del indicador de ordenación que puede aparecer en las cabeceras de listas o tablas. Los valores posibles son Qt::Alignment (es decir, una combinación OR de indicadores Qt::AlignmentFlag ).
QStyle::SH_Slider_SnapToValue7Los deslizadores se ajustan a los valores mientras se mueven, como lo hacen en Windows.
QStyle::SH_Slider_SloppyKeyEvents8Las pulsaciones de teclas se manejan de forma descuidada, es decir, la izquierda en un deslizador vertical resta una línea.
QStyle::SH_ProgressDialog_CenterCancelButton9Botón centrado en los cuadros de diálogo de progreso; en caso contrario, alineado a la derecha.
QStyle::SH_ProgressDialog_TextLabelAlignment10La alineación de las etiquetas de texto en los diálogos de progreso; Qt::AlignCenter en Windows, Qt::AlignVCenter en caso contrario.
QStyle::SH_PrintDialog_RightAlignButtons11Alinear a la derecha los botones en el diálogo de impresión, como se hace en Windows.
QStyle::SH_MainWindow_SpaceBelowMenuBar12Uno o dos píxeles de espacio entre la barra de menú y el área de documento, como se hace en Windows.
QStyle::SH_FontDialog_SelectAssociatedText13Seleccionar el texto en la edición de línea, o al seleccionar un elemento del cuadro de lista, o cuando la edición de línea recibe el foco, como se hace en Windows.
QStyle::SH_Menu_KeyboardSearch66Al teclear se busca en el menú los elementos relevantes, de lo contrario sólo se tiene en cuenta la mnemotecnia.
QStyle::SH_Menu_AllowActiveAndDisabled14Permite activar los elementos de menú desactivados.
QStyle::SH_Menu_SpaceActivatesItem15Pulsando la barra espaciadora se activa el elemento, como se hace en Motif.
QStyle::SH_Menu_SubMenuPopupDelay16El número de milisegundos a esperar antes de abrir un submenú (256 en Windows, 96 en Motif).
QStyle::SH_Menu_Scrollable30Si los menús emergentes deben permitir el desplazamiento.
QStyle::SH_Menu_SloppySubMenus33Si los menús emergentes deben soportar que el usuario mueva el cursor del ratón a un submenú mientras cruza otros elementos del menú. Esto es compatible con la mayoría de las plataformas de escritorio modernas.
QStyle::SH_Menu_SubMenuUniDirection105Desde Qt 5.5. Si el cursor tiene que moverse hacia el submenú (como ocurre en macOS), o si el cursor puede moverse en cualquier dirección siempre que alcance el submenú antes de que se agote el tiempo de espera.
QStyle::SH_Menu_SubMenuUniDirectionFailCount106Desde Qt 5.5. Cuando se define SH_Menu_SubMenuUniDirection este enum define el número de movimientos fallidos del ratón antes de que el submenú descuidado sea descartado. Esto puede usarse para controlar el "rigor" del algoritmo de uni-dirección.
QStyle::SH_Menu_SubMenuSloppySelectOtherActions107Desde Qt 5.5. Deberían seleccionarse otros elementos de acción cuando el ratón se mueve hacia un submenú descuidado.
QStyle::SH_Menu_SubMenuSloppyCloseTimeout108Desde Qt 5.5. El tiempo de espera usado para cerrar submenús descuidados.
QStyle::SH_Menu_SubMenuResetWhenReenteringParent109Desde Qt 5.5. Cuando se entra en el submenú padre desde el hijo, ¿debería reiniciarse el estado descuidado, cerrando efectivamente el hijo y activando el submenú actual?
QStyle::SH_Menu_SubMenuDontStartSloppyOnLeave110Desde Qt 5.5. No iniciar los temporizadores de sloppy cuando el ratón abandona un submenú.
QStyle::SH_ScrollView_FrameOnlyAroundContents17Si los scrollviews dibujan su marco sólo alrededor de los contenidos (como Motif), o alrededor de los contenidos, barras de desplazamiento y widgets de esquina (como Windows).
QStyle::SH_MenuBar_AltKeyNavigation18Los elementos de las barras de menú son navegables pulsando Alt, seguido del uso de las teclas de flecha para seleccionar el elemento deseado.
QStyle::SH_ComboBox_ListMouseTracking_CurrentSH_ComboBox_ListMouseTrackingSeguimiento del ratón en listas desplegables de combobox, el elemento bajo el cursor se convierte en el elemento actual (QStyle::State_Selected).
QStyle::SH_ComboBox_ListMouseTracking19Obsoleto. Utilice SH_ComboBox_ListMouseTracking_Current en su lugar.
QStyle::SH_ComboBox_ListMouseTracking_Active120Seguimiento del ratón en listas desplegables combobox, el elemento bajo el cursor no se convierte en el elemento actual, sólo en activo (QStyle::State_MouseOver).
QStyle::SH_Menu_MouseTracking20Seguimiento del ratón en menús emergentes.
QStyle::SH_MenuBar_MouseTracking21Seguimiento del ratón en barras de menú.
QStyle::SH_Menu_FillScreenWithScroll45Si las ventanas emergentes de desplazamiento deben llenar la pantalla a medida que se desplazan.
QStyle::SH_Menu_SelectionWrap73Si las ventanas emergentes deben permitir que las selecciones se envuelvan, es decir, cuando se selecciona el siguiente elemento debe ser el primer elemento.
QStyle::SH_ItemView_ChangeHighlightOnFocus22Poner en gris los elementos seleccionados al perder el foco.
QStyle::SH_Widget_ShareActivation23Activar la activación de compartir con diálogos flotantes sin modelo.
QStyle::SH_TabBar_SelectMouseType4Qué tipo de evento del ratón debe hacer que se seleccione una pestaña.
QStyle::SH_ListViewExpand_SelectMouseType40Qué tipo de evento del ratón debe hacer que se seleccione una expansión de la vista de lista.
QStyle::SH_TabBar_PreferNoArrows38Si una barra de pestañas debe sugerir un tamaño para evitar las flechas de desplazamiento.
QStyle::SH_ComboBox_Popup25Permitir ventanas emergentes como menú desplegable de combobox.
QStyle::SH_Workspace_FillSpaceOnMaximize24El área de trabajo debe maximizar el área del cliente.
QStyle::SH_TitleBar_NoBorder26La barra de título no tiene borde.
QStyle::SH_Slider_StopMouseOverSlider27Detiene la repetición automática cuando el deslizador alcanza la posición del ratón.
QStyle::SH_BlinkCursorWhenTextSelected28Si el cursor debe parpadear cuando se selecciona texto.
QStyle::SH_RichText_FullWidthSelection29Si las selecciones de texto enriquecido deben extenderse a todo el ancho del documento.
QStyle::SH_GroupBox_TextLabelVerticalAlignment31Cómo alinear verticalmente la etiqueta de texto de un cuadro de grupo.
QStyle::SH_GroupBox_TextLabelColor32Cómo pintar la etiqueta de texto de un cuadro de grupo.
QStyle::SH_DialogButtons_DefaultButton36Qué botón obtiene el estado predeterminado en el widget de botón de un cuadro de diálogo.
QStyle::SH_ToolBox_SelectedPageTitleBold37Negrita del título de la página seleccionada en QToolBox.
QStyle::SH_LineEdit_PasswordCharacter35El carácter Unicode a utilizar para las contraseñas.
QStyle::SH_LineEdit_PasswordMaskDelay103Determina el retardo antes de que el carácter visible se enmascare con el carácter de contraseña, en milisegundos. Este valor enum se añadió en Qt 5.4.
QStyle::SH_Table_GridLineColor34El valor RGBA de la rejilla de una tabla.
QStyle::SH_UnderlineShortcut41Si los atajos están subrayados.
QStyle::SH_SpinBox_AnimateButton42Animar un clic cuando se pulsa arriba o abajo en un cuadro de giro.
QStyle::SH_SpinBox_KeyPressAutoRepeatRate43Intervalo de auto-repetición para pulsaciones de teclas en spinbox.
QStyle::SH_SpinBox_ClickAutoRepeatRate44Intervalo de repetición automática de los clics del ratón en el cuadro de rotación.
QStyle::SH_SpinBox_ClickAutoRepeatThreshold83Umbral de repetición automática de los clics del ratón en la caja de rotación.
QStyle::SH_SpinBox_SelectOnStep (since Qt 6.3)119Si al cambiar el valor con los botones o las teclas arriba/abajo se selecciona automáticamente el texto.
QStyle::SH_ToolTipLabel_Opacity46Un número entero que indica la opacidad para la etiqueta de la punta, 0 es completamente transparente, 255 es completamente opaco.
QStyle::SH_DrawMenuBarSeparator47Indica si la barra de menú dibuja o no separadores.
QStyle::SH_TitleBar_ModifyNotification48Indica si la barra de título debe mostrar un '*' para las ventanas que se modifican.
QStyle::SH_Button_FocusPolicy49Política de enfoque por defecto para los botones.
QStyle::SH_CustomBase0xf0000000Valor base para las sugerencias de estilo personalizadas. Los valores personalizados deben ser mayores que este valor.
QStyle::SH_MessageBox_UseBorderForButtonSpacing50Un booleano que indica si se debe utilizar el borde de los botones (calculado como la mitad de la altura del botón) para el espaciado del botón en un cuadro de mensaje.
QStyle::SH_MessageBox_CenterButtons72Un booleano que indica si los botones de la caja de mensajes deben estar centrados o no (ver QDialogButtonBox::setCentered()).
QStyle::SH_MessageBox_TextInteractionFlags70Un booleano que indica si el texto de un cuadro de mensaje debe permitir interacciones del usuario (por ejemplo, selección) o no.
QStyle::SH_TitleBar_AutoRaise51Un booleano que indica si los controles de una barra de título deben actualizarse cuando el ratón está sobre ellos.
QStyle::SH_ToolButton_PopupDelay52Un int que indica el retardo de aparición en milisegundos para los menús adjuntos a los botones de herramientas.
QStyle::SH_FocusFrame_Mask53La máscara del marco de enfoque.
QStyle::SH_RubberBand_Mask54La máscara de la banda elástica.
QStyle::SH_WindowFrame_Mask55La máscara del marco de la ventana.
QStyle::SH_SpinControls_DisableOnBounds56Determina si los controles de giro se mostrarán como desactivados al alcanzar el límite del rango de giro.
QStyle::SH_Dial_BackgroundRole57Define la función de fondo preferida del estilo (como QPalette::ColorRole) para un widget de dial.
QStyle::SH_ComboBox_LayoutDirection58La dirección de diseño para el cuadro combinado. Por defecto debería ser la misma que la indicada por la variable QStyleOption::direction.
QStyle::SH_ItemView_EllipsisLocation59La ubicación donde deben añadirse las elipses para el texto del elemento que es demasiado largo para caber en un elemento de la vista.
QStyle::SH_ItemView_ShowDecorationSelected60Cuando se selecciona un elemento en una vista de elemento, resaltar también la rama u otra decoración.
QStyle::SH_ItemView_ActivateItemOnSingleClick61Emitir la señal de activado cuando el usuario hace un solo clic en un elemento de una vista de elemento. De lo contrario, la señal se emite cuando el usuario hace doble clic en un elemento.
QStyle::SH_Slider_AbsoluteSetButtons64Qué botones del ratón hacen que un deslizador fije el valor en la posición en la que se ha hecho clic.
QStyle::SH_Slider_PageSetButtons65Qué botones del ratón hacen que un deslizador pase de página el valor.
QStyle::SH_TabBar_ElideMode67El estilo por defecto de la barra de pestañas.
QStyle::SH_DialogButtonLayout68Controla la disposición de los botones en QDialogButtonBox, devuelve un enum QDialogButtonBox::ButtonLayout.
QStyle::SH_WizardStyle78Controla la apariencia de un QWizard. Devuelve un enum QWizard::WizardStyle.
QStyle::SH_FormLayoutWrapPolicy85Proporciona un valor predeterminado para cómo se envuelven las filas en un QFormLayout. Devuelve un enum QFormLayout::RowWrapPolicy.
QStyle::SH_FormLayoutFieldGrowthPolicy88Proporciona un valor predeterminado para cómo los campos pueden crecer en un QFormLayout. Devuelve un enum QFormLayout::FieldGrowthPolicy.
QStyle::SH_FormLayoutFormAlignment89Proporciona un valor por defecto para cómo un QFormLayout alinea su contenido dentro del espacio disponible. Devuelve un enum Qt::Alignment.
QStyle::SH_FormLayoutLabelAlignment90Proporciona un valor por defecto para cómo un QFormLayout alinea las etiquetas dentro del espacio disponible. Devuelve un enum Qt::Alignment.
QStyle::SH_ItemView_ArrowKeysNavigateIntoChildren79Controla si la vista de árbol seleccionará el primer hijo cuando se exapanda y se pulsa la tecla de flecha derecha.
QStyle::SH_ComboBox_PopupFrameStyle69El estilo de marco utilizado al dibujar un menú emergente combobox.
QStyle::SH_DialogButtonBox_ButtonsHaveIcons71Indica si los StandardButtons en QDialogButtonBox deben tener iconos o no.
QStyle::SH_ItemView_MovementWithoutUpdatingSelection74La vista de ítems es capaz de indicar un ítem actual sin cambiar la selección.
QStyle::SH_ToolTip_Mask75La máscara de una punta de herramienta.
QStyle::SH_FocusFrame_AboveWidget76El FocusFrame se apila sobre el widget que está "enfocando".
QStyle::SH_TextControl_FocusIndicatorTextCharFormat77Especifica el formato de texto utilizado para resaltar los anclajes enfocados en documentos de texto enriquecido que se muestran, por ejemplo, en QTextBrowser. El formato tiene que ser un QTextCharFormat devuelto en la variante del valor de retorno QStyleHintReturnVariant. La propiedad QTextFormat::OutlinePen se utiliza para el contorno y QTextFormat::BackgroundBrush para el fondo del área resaltada.
QStyle::SH_Menu_FlashTriggeredItem81Elemento activado por Flash.
QStyle::SH_Menu_FadeOutOnHide82Desvanece el menú en lugar de ocultarlo inmediatamente.
QStyle::SH_TabWidget_DefaultTabPosition86Posición por defecto de la barra de pestañas en un widget de pestañas.
QStyle::SH_ToolBar_Movable87Determina si la barra de herramientas es movible por defecto.
QStyle::SH_ItemView_PaintAlternatingRowColorsForEmptyArea84Si QTreeView pinta alternando los colores de las filas para el área que no tiene ningún elemento.
QStyle::SH_Menu_Mask80La máscara para un menú emergente.
QStyle::SH_ItemView_DrawDelegateFrame91Determina si debe haber un marco para un widget delegado.
QStyle::SH_TabBar_CloseButtonPosition92Determina la posición del botón de cierre de una pestaña en una barra de pestañas.
QStyle::SH_DockWidget_ButtonsHaveFrame93Determina si los botones del dockwidget deben tener marcos. Por defecto es true.
QStyle::SH_ToolButtonStyle94Determina el estilo predeterminado del sistema para los botones de herramientas que utiliza Qt::ToolButtonFollowStyle.
QStyle::SH_RequestSoftwareInputPanel95Determina cuando un panel de entrada de software debe ser solicitado por los widgets de entrada. Devuelve un enum de tipo QStyle::RequestSoftwareInputPanel.
QStyle::SH_ScrollBar_Transient96Determina si el estilo admite barras de desplazamiento transitorias. Las barras de desplazamiento transitorias aparecen cuando se desplaza el contenido y desaparecen cuando ya no son necesarias.
QStyle::SH_Menu_SupportsSections97Determina si el estilo muestra secciones en los menús o las trata como simples separadores. Las secciones son separadores con una sugerencia de texto e icono.
QStyle::SH_ToolTip_WakeUpDelay98Determina el retardo (en milisegundos) antes de que se muestre una sugerencia.
QStyle::SH_ToolTip_FallAsleepDelay99Determina el retardo (en milisegundos) antes de que se necesite un nuevo wake cuando se muestra un tooltip (nota: se muestra, no se oculta). Cuando no se necesita una nueva activación, la información sobre herramientas solicitada por el usuario se mostrará casi instantáneamente.
QStyle::SH_Widget_Animate100Obsoleto. Utilice SH_Widget_Animation_Duration en su lugar.
QStyle::SH_Splitter_OpaqueResize101Determina si los widgets se redimensionan dinámicamente (opacamente) mientras se mueve interactivamente el divisor. Este valor enum se introdujo en Qt 5.2.
QStyle::SH_TabBar_ChangeCurrentDelay104Determina el retardo antes de que se cambie la pestaña actual mientras se arrastra sobre la barra de pestañas, en milisegundos. Este valor enum ha sido introducido en Qt 5.4
QStyle::SH_ItemView_ScrollMode111El modo de desplazamiento vertical y horizontal por defecto especificado por el estilo. Puede anularse con QAbstractItemView::setVerticalScrollMode() y QAbstractItemView::setHorizontalScrollMode(). Este valor enum ha sido introducido en Qt 5.7.
QStyle::SH_TitleBar_ShowToolTipsOnButtons112Determina si se muestran consejos sobre herramientas en los botones de la barra de título de la ventana. El estilo Mac, por ejemplo, establece este valor en false. Este valor enum se ha introducido en Qt 5.10.
QStyle::SH_Widget_Animation_Duration113Determina cuánto debe durar una animación (en ms). Un valor igual a cero significa que las animaciones estarán desactivadas. Este valor enum se ha introducido en Qt 5.10.
QStyle::SH_ComboBox_AllowWheelScrolling114Determina si la rueda del ratón puede usarse para desplazarse dentro de QComboBox. Esto está activado por defecto en todos los estilos excepto en el estilo Mac. Este valor enum ha sido introducido en Qt 5.10.
QStyle::SH_SpinBox_ButtonsInsideFrame115Determina si los botones del cuadro de giro están dentro del marco de edición de línea. Este valor enum ha sido introducido en Qt 5.11.
QStyle::SH_SpinBox_StepModifier116Determina qué Qt::KeyboardModifier aumenta la velocidad de paso de QAbstractSpinBox. Los valores posibles son Qt::NoModifier, Qt::ControlModifier (por defecto) o Qt::ShiftModifier. Qt::NoModifier desactiva esta función. Este valor enum se ha introducido en Qt 5.12.
QStyle::SH_TabBar_AllowWheelScrolling117Determina si la rueda del ratón puede usarse para recorrer las pestañas de QTabBar. Este valor enum ha sido introducido en Qt 6.1.
QStyle::SH_Table_AlwaysDrawLeftTopGridLines118Determina si las líneas de la rejilla superior e izquierda se dibujan o no en una tabla cuando la cabecera está oculta. Por defecto es false. Este valor enum se introdujo en Qt 6.3.

Véase también styleHint().

enum QStyle::SubControl
banderas QStyle::SubControls

Este enum describe los subcontroles disponibles. Un subcontrol es un elemento de control dentro de un control complejo (ComplexControl).

ConstanteValorDescripción
QStyle::SC_None0x00000000Valor especial que no coincide con ningún otro subcontrol.
QStyle::SC_ScrollBarAddLine0x00000001Barra de desplazamiento línea adicional (es decir, flecha abajo/derecha); véase también QScrollBar.
QStyle::SC_ScrollBarSubLine0x00000002Barra de desplazamiento sub-línea (flecha arriba/izquierda).
QStyle::SC_ScrollBarAddPage0x00000004Barra de desplazamiento para añadir página (es decir, página abajo).
QStyle::SC_ScrollBarSubPage0x00000008Barra de desplazamiento subpágina (es decir, página arriba).
QStyle::SC_ScrollBarFirst0x00000010Barra de desplazamiento primera línea (es decir, inicio).
QStyle::SC_ScrollBarLast0x00000020Barra de desplazamiento última línea (fin).
QStyle::SC_ScrollBarSlider0x00000040Control deslizante de la barra de desplazamiento.
QStyle::SC_ScrollBarGroove0x00000080Subcontrol especial que contiene el área en la que puede moverse el control deslizante.
QStyle::SC_SpinBoxUp0x00000001Girar el widget hacia arriba/aumentar; véase también QSpinBox.
QStyle::SC_SpinBoxDown0x00000002Girar el widget hacia abajo/disminuir.
QStyle::SC_SpinBoxFrame0x00000004Marco del widget de giro.
QStyle::SC_SpinBoxEditField0x00000008Campo de edición del widget giratorio.
QStyle::SC_ComboBoxEditField0x00000002Campo de edición Combobox; véase también QComboBox.
QStyle::SC_ComboBoxArrow0x00000004Botón de flecha del cuadro combinado.
QStyle::SC_ComboBoxFrame0x00000001Marco del cuadro combinado.
QStyle::SC_ComboBoxListBoxPopup0x00000008Rectángulo de referencia para la ventana emergente del combobox. Se utiliza para calcular la posición de la ventana emergente.
QStyle::SC_SliderGroove0x00000001Subcontrol especial que contiene el área en la que se puede mover el tirador de la barra deslizante.
QStyle::SC_SliderHandle0x00000002Manija del deslizador.
QStyle::SC_SliderTickmarks0x00000004Marcas de la barra deslizante.
QStyle::SC_ToolButton0x00000001Botón de herramienta (véase también QToolButton).
QStyle::SC_ToolButtonMenu0x00000002Subcontrol para abrir un menú emergente en un botón de herramienta.
QStyle::SC_TitleBarSysMenu0x00000001Botón de menú del sistema (restaurar, cerrar, etc.).
QStyle::SC_TitleBarMinButton0x00000002Botón de minimizar.
QStyle::SC_TitleBarMaxButton0x00000004Botón de maximización.
QStyle::SC_TitleBarCloseButton0x00000008Botón de cierre.
QStyle::SC_TitleBarLabel0x00000100Etiqueta de título de la ventana.
QStyle::SC_TitleBarNormalButton0x00000010Botón Normal (restaurar).
QStyle::SC_TitleBarShadeButton0x00000020Botón de sombreado.
QStyle::SC_TitleBarUnshadeButton0x00000040Botón para quitar la sombra.
QStyle::SC_TitleBarContextHelpButton0x00000080Botón de ayuda contextual.
QStyle::SC_DialHandle0x00000002El mango del dial (es decir, lo que se utiliza para controlar el dial).
QStyle::SC_DialGroove0x00000001La ranura para el dial.
QStyle::SC_DialTickmarks0x00000004Las marcas del cuadrante.
QStyle::SC_GroupBoxFrame0x00000008El marco de un cuadro de grupo.
QStyle::SC_GroupBoxLabel0x00000002El título de un cuadro de grupo.
QStyle::SC_GroupBoxCheckBox0x00000001La casilla de verificación opcional de un cuadro de grupo.
QStyle::SC_GroupBoxContents0x00000004El contenido de un cuadro de grupo.
QStyle::SC_MdiNormalButton0x00000002El botón normal de una subventana MDI en la barra de menús.
QStyle::SC_MdiMinButton0x00000001El botón minimizar de una subventana MDI en la barra de menús.
QStyle::SC_MdiCloseButton0x00000004El botón de cierre de una subventana MDI en la barra de menús.
QStyle::SC_All0xffffffffValor especial que coincide con todos los subcontroles.

El tipo SubControls es un typedef para QFlags<SubControl>. Almacena una combinación OR de valores SubControl.

Véase también ComplexControl.

enum QStyle::SubElement

Este enum representa una subárea de un widget. Las implementaciones de estilo utilizan estas áreas para dibujar las diferentes partes de un widget.

ConstanteValorDescripción
QStyle::SE_PushButtonContents0Área que contiene la etiqueta (icono con texto o pixmap).
QStyle::SE_PushButtonFocusRect1Área para el rectángulo de enfoque (normalmente más grande que el rectángulo de contenido).
QStyle::SE_PushButtonLayoutItem37Área que cuenta para el layout padre.
QStyle::SE_PushButtonBevel56[Área utilizada para el bisel del botón.
QStyle::SE_CheckBoxIndicator2Área para el indicador de estado (por ejemplo, marca de verificación).
QStyle::SE_CheckBoxContents3Área para la etiqueta (texto o mapa de píxeles).
QStyle::SE_CheckBoxFocusRect4Área para el indicador de enfoque.
QStyle::SE_CheckBoxClickRect5Área en la que se puede hacer clic, por defecto SE_CheckBoxFocusRect.
QStyle::SE_CheckBoxLayoutItem32Área que cuenta para el diseño padre.
QStyle::SE_DateTimeEditLayoutItem34Área que cuenta para el diseño padre.
QStyle::SE_RadioButtonIndicator6Área para el indicador de estado.
QStyle::SE_RadioButtonContents7Área para la etiqueta.
QStyle::SE_RadioButtonFocusRect8Área para el indicador de enfoque.
QStyle::SE_RadioButtonClickRect9Área clicable, por defecto SE_RadioButtonFocusRect.
QStyle::SE_RadioButtonLayoutItem38Área que cuenta para el diseño padre.
QStyle::SE_ComboBoxFocusRect10Área para el indicador de enfoque.
QStyle::SE_SliderFocusRect11Área para el indicador de enfoque.
QStyle::SE_SliderLayoutItem39Área que cuenta para el diseño padre.
QStyle::SE_SpinBoxLayoutItem40Área que cuenta para el diseño padre.
QStyle::SE_ProgressBarGroove12Área para la ranura.
QStyle::SE_ProgressBarContents13Área para el indicador de progreso.
QStyle::SE_ProgressBarLabel14Área para la etiqueta de texto.
QStyle::SE_ProgressBarLayoutItem36Área que cuenta para la maqueta padre.
QStyle::SE_FrameContents27Área para el contenido de un marco.
QStyle::SE_ShapedFrameContents51Área para el contenido de un marco utilizando la forma en QStyleOptionFrame; ver QFrame
QStyle::SE_FrameLayoutItem42Área que cuenta para la maqueta padre.
QStyle::SE_HeaderArrow17Área para el indicador de ordenación de una cabecera.
QStyle::SE_HeaderLabel16Área para la etiqueta de una cabecera.
QStyle::SE_LabelLayoutItem35Área que cuenta para la maquetación padre.
QStyle::SE_LineEditContents26Área para el contenido de una edición de línea.
QStyle::SE_TabWidgetLeftCorner21Área para el widget de esquina izquierda en un widget de pestaña.
QStyle::SE_TabWidgetRightCorner22Área para el widget de esquina derecha en un widget de pestaña.
QStyle::SE_TabWidgetTabBar18Área para el widget de la barra de pestañas en un widget de pestañas.
QStyle::SE_TabWidgetTabContents20Área para el contenido del widget de pestaña.
QStyle::SE_TabWidgetTabPane19Área para el panel de un widget de pestaña.
QStyle::SE_TabWidgetLayoutItem44Área que cuenta para el diseño padre.
QStyle::SE_ToolBoxTabContents15Área para el icono y la etiqueta de una pestaña de la caja de herramientas.
QStyle::SE_ToolButtonLayoutItem41Área que cuenta para el diseño principal.
QStyle::SE_ItemViewItemCheckIndicator23Área para la marca de verificación de un elemento de la vista.
QStyle::SE_TabBarTearIndicator24Obsoleto. Utilice SE_TabBarTearIndicatorLeft en su lugar.
QStyle::SE_TabBarTearIndicatorLeftSE_TabBarTearIndicatorÁrea para el indicador de rasgado en el lado izquierdo de una barra de pestañas con flechas de desplazamiento.
QStyle::SE_TabBarTearIndicatorRight55Área para el indicador de rasgado en el lado derecho de una barra de pestañas con flechas de desplazamiento.
QStyle::SE_TabBarScrollLeftButton53Área para el botón de desplazamiento a la izquierda en una barra de pestañas con botones de desplazamiento.
QStyle::SE_TabBarScrollRightButton54Área para el botón de desplazamiento a la derecha en una barra de pestañas con botones de desplazamiento.
QStyle::SE_TreeViewDisclosureItem25Área para el elemento de divulgación real en una rama de árbol.
QStyle::SE_GroupBoxLayoutItem43Área que cuenta para el diseño padre.
QStyle::SE_CustomBase0xf0000000Valor base para los subelementos personalizados. Los valores personalizados deben ser mayores que este valor.
QStyle::SE_DockWidgetFloatButton29El botón flotante de un widget del dock.
QStyle::SE_DockWidgetTitleBarText30Los límites de texto del título de los widgets del dock.
QStyle::SE_DockWidgetCloseButton28El botón de cierre de un widget dock.
QStyle::SE_DockWidgetIcon31El icono de un widget dock.
QStyle::SE_ComboBoxLayoutItem33Área que cuenta para el diseño padre.
QStyle::SE_ItemViewItemDecoration45Área para la decoración (icono) de un elemento de la vista.
QStyle::SE_ItemViewItemText46Área para el texto de un elemento de la vista.
QStyle::SE_ItemViewItemFocusRect47Área para el rectángulo de enfoque de un elemento de la vista.
QStyle::SE_TabBarTabLeftButton48Área para un widget a la izquierda de una pestaña en una barra de pestañas.
QStyle::SE_TabBarTabRightButton49Área para un widget a la derecha de una pestaña en una barra de pestañas.
QStyle::SE_TabBarTabText50Área para el texto de una pestaña en una barra de pestañas.
QStyle::SE_ToolBarHandle52Área para el asa de una barra de herramientas.

Véase también subElementRect().

Documentación de las funciones miembro

QStyle::QStyle()

Construye un objeto de estilo.

[virtual noexcept] QStyle::~QStyle()

Destruye el objeto de estilo.

[static] QRect QStyle::alignedRect(Qt::LayoutDirection direction, Qt::Alignment alignment, const QSize &size, const QRect &rectangle)

Devuelve un nuevo rectángulo del size especificado que está alineado con el rectangle dado según los alignment y direction especificados.

int QStyle::combinedLayoutSpacing(QSizePolicy::ControlTypes controls1, QSizePolicy::ControlTypes controls2, Qt::Orientation orientation, QStyleOption *option = nullptr, QWidget *widget = nullptr) const

Devuelve el espaciado que debe utilizarse entre controls1 y controls2 en un diseño. orientation especifica si los controles se disponen uno al lado del otro o apilados verticalmente. El parámetro option puede utilizarse para pasar información adicional sobre el widget padre. El parámetro widget es opcional y también puede utilizarse si option es nullptr.

controls1 y controls2 son combinaciones OR de cero o más control types.

Esta función es llamada por el sistema de diseño. Sólo se utiliza si PM_LayoutHorizontalSpacing o PM_LayoutVerticalSpacing devuelven un valor negativo.

Véase también layoutSpacing().

[pure virtual] void QStyle::drawComplexControl(QStyle::ComplexControl control, const QStyleOptionComplex *option, QPainter *painter, const QWidget *widget = nullptr) const

Dibuja el control dado utilizando el painter proporcionado con las opciones de estilo especificadas por option.

El argumento widget es opcional y puede utilizarse como ayuda para dibujar el control.

El parámetro option es un puntero a un objeto QStyleOptionComplex que puede ser convertido a la subclase correcta utilizando la función qstyleoption_cast(). Tenga en cuenta que el miembro rect del option especificado debe estar en coordenadas lógicas. Las reimplementaciones de esta función deben utilizar visualRect() para cambiar las coordenadas lógicas a coordenadas de pantalla antes de llamar a la función drawPrimitive() o drawControl().

En la tabla siguiente se enumeran los elementos de control complejos y su subclase de opción de estilo asociada. Las opciones de estilo contienen todos los parámetros necesarios para dibujar los controles, incluyendo QStyleOption::state que contiene los style flags que se utilizan al dibujar. La tabla también describe las banderas que se activan al asignar la option dada a la subclase apropiada.

Control complejoQStyleOptionComplex SubclaseBandera de estiloObservación
CC_SpinBoxQStyleOptionSpinBoxState_EnabledSe establece si el cuadro de giro está activado.
State_HasFocusEstablece si el cuadro de giro tiene foco de entrada.
CC_ComboBoxQStyleOptionComboBoxState_EnabledEstablece si el cuadro combinado está habilitado.
State_HasFocusEstablece si el cuadro combinado tiene el foco de entrada.
CC_ScrollBarQStyleOptionSliderState_EnabledEstablecer si la barra de desplazamiento está activada.
State_HasFocusEstablecer si la barra de desplazamiento está activada.
CC_SliderQStyleOptionSliderState_EnabledEstablecer si el deslizador está activado.
State_HasFocusEstablecer si la barra deslizante está activada.
CC_DialQStyleOptionSliderState_EnabledEstablecer si el dial está activado.
State_HasFocusEstablecer si el dial tiene foco de entrada.
CC_ToolButtonQStyleOptionToolButtonState_EnabledEstablecer si el botón de herramientas está activado.
State_HasFocusEstablece si el botón de herramientas tiene enfoque de entrada.
State_DownArrowEstablece si el botón de herramienta está pulsado (es decir, si se pulsa un botón del ratón o la barra espaciadora).
State_OnEstablece si el botón de herramienta es un botón de conmutación y está activado.
State_AutoRaiseEstablece si el botón de herramienta tiene activada la subida automática.
State_RaisedEstablece si el botón no está pulsado, no está encendido y no contiene el ratón cuando la elevación automática está activada.
CC_TitleBarQStyleOptionTitleBarState_EnabledEstablece si la barra de título está activada.

Véase también drawPrimitive() y drawControl().

[pure virtual] void QStyle::drawControl(QStyle::ControlElement element, const QStyleOption *option, QPainter *painter, const QWidget *widget = nullptr) const

Dibuja el element dado con el painter proporcionado con las opciones de estilo especificadas por option.

El argumento widget es opcional y puede utilizarse como ayuda para dibujar el control. El parámetro option es un puntero a un objeto QStyleOption que puede ser convertido a la subclase correcta utilizando la función qstyleoption_cast().

En la tabla siguiente se enumeran los elementos de control y su subclase de opción de estilo asociada. Las opciones de estilo contienen todos los parámetros necesarios para dibujar los controles, incluyendo QStyleOption::state que contiene las banderas de estilo que se utilizan al dibujar. La tabla también describe las banderas que se activan al asignar la opción dada a la subclase apropiada.

Ten en cuenta que si un elemento de control no aparece en la lista, es porque utiliza un objeto QStyleOption.

Elemento de controlQStyleOption SubclaseBandera de EstiloObservación
CE_MenuItem, CE_MenuBarItemQStyleOptionMenuItemState_SelectedEl elemento de menú está seleccionado actualmente.
State_EnabledEl elemento está activado.
State_DownArrowIndica que debe dibujarse una flecha de desplazamiento hacia abajo.
State_UpArrowIndica que debe dibujarse una flecha de desplazamiento hacia arriba.
State_HasFocusEstablece si la barra de menú tiene el foco de entrada.
CE_PushButton CE_PushButtonBevel, CE_PushButtonLabelQStyleOptionButtonState_EnabledEstablece si el botón está activado.
State_HasFocusEstablece si el botón tiene foco de entrada.
State_RaisedEstablece si el botón no está abajo, no está encendido y no está plano.
State_OnEstablece si el botón es un botón de conmutación y está activado.
State_SunkenEstablece si el botón está pulsado (es decir, el botón del ratón o la barra espaciadora están pulsados sobre el botón).
CE_RadioButton, CE_RadioButtonLabel, CE_CheckBox, CE_CheckBoxLabelQStyleOptionButtonState_EnabledEstablece si el botón está activado.
State_HasFocusEstablece si el botón tiene el foco de entrada.
State_OnEstablece si el botón está marcado.
State_OffEstablece si el botón no está marcado.
State_NoChangeEstablece si el botón está en el estado NoChange.
State_SunkenEstablece si el botón está pulsado (es decir, el botón del ratón o la barra espaciadora están pulsados sobre el botón).
CE_ProgressBarContents CE_ProgressBarLabel, CE_ProgressBarGrooveQStyleOptionProgressBarState_EnabledEstablece si la barra de progreso está activada.
State_HasFocusEstablece si la barra de progreso tiene el foco de entrada.
CE_Header, CE_HeaderSection, CE_HeaderLabelQStyleOptionHeader
CE_TabBarTab, CE_TabBarTabShape, CE_TabBarTabLabelQStyleOptionTabState_EnabledEstablece si la barra de pestañas está activada.
State_SelectedLa barra de pestañas es la barra de pestañas seleccionada actualmente.
State_HasFocusEstablece si la barra de pestañas tiene el foco de entrada.
CE_ToolButtonLabelQStyleOptionToolButtonState_EnabledEstablece si el botón de herramientas está activado.
State_HasFocusEstablece si el botón de herramienta tiene el foco de entrada.
State_SunkenEstablece si el botón de herramienta está pulsado (es decir, si se pulsa un botón del ratón o la barra espaciadora).
State_OnEstablece si el botón de herramienta es un botón de conmutación y está activado.
State_AutoRaiseEstablece si el botón de herramienta tiene activada la subida automática.
State_MouseOverEstablece si el puntero del ratón está sobre el botón de herramienta.
State_RaisedEstablecer si el botón no está pulsado y no está activado.
CE_ToolBoxTabQStyleOptionToolBoxState_SelectedLa pestaña es la pestaña seleccionada actualmente.
CE_HeaderSectionQStyleOptionHeaderState_SunkenIndica que la sección está pulsada.
State_UpArrowIndica que el indicador de ordenación debe estar apuntando hacia arriba.
State_DownArrowIndica que el indicador de ordenación debe apuntar hacia abajo.

Véase también drawPrimitive() y drawComplexControl().

[virtual] void QStyle::drawItemPixmap(QPainter *painter, const QRect &rectangle, int alignment, const QPixmap &pixmap) const

Dibuja el pixmap dado en el rectangle especificado , de acuerdo con el alignment especificado , utilizando el painter proporcionado .

Véase también drawItemText().

[virtual] void QStyle::drawItemText(QPainter *painter, const QRect &rectangle, int alignment, const QPalette &palette, bool enabled, const QString &text, QPalette::ColorRole textRole = QPalette::NoRole) const

Dibuja el texto text en el campo rectangle utilizando los campos painter y palette.

El texto se dibuja utilizando el lápiz del pintor, y se alinea y envuelve de acuerdo con el alignment especificado. Si se especifica un textRole explícito, el texto se dibuja utilizando el color palette's para el papel dado. El parámetro enabled indica si el elemento está habilitado o no; al reimplementar esta función, el parámetro enabled debería influir en cómo se dibuja el elemento.

Véase también Qt::Alignment y drawItemPixmap().

[pure virtual] void QStyle::drawPrimitive(QStyle::PrimitiveElement element, const QStyleOption *option, QPainter *painter, const QWidget *widget = nullptr) const

Dibuja la primitiva dada element con la proporcionada painter utilizando las opciones de estilo especificadas por option.

El argumento widget es opcional y puede contener un widget que ayude a dibujar el elemento primitivo.

En la tabla siguiente se enumeran los elementos primitivos y sus subclases de opciones de estilo asociadas. Las opciones de estilo contienen todos los parámetros necesarios para dibujar los elementos, incluyendo QStyleOption::state que contiene las banderas de estilo que se utilizan al dibujar. La tabla también describe las banderas que se activan al asignar la opción dada a la subclase apropiada.

Ten en cuenta que si un elemento primitivo no aparece en la lista, es porque utiliza un objeto plano QStyleOption.

Elemento primitivoQStyleOption SubclaseBandera de estiloObservación
PE_FrameFocusRectQStyleOptionFocusRectState_FocusAtBorderSi el foco está en el borde o dentro del widget.
PE_IndicatorCheckBoxQStyleOptionButtonState_NoChangeIndica una casilla de verificación "tri-state".
State_OnIndica que el indicador está marcado.
PE_IndicatorRadioButtonQStyleOptionButtonState_OnIndica que un botón de radio está seleccionado.
State_NoChangeIndica un controlador "tri-state".
State_EnabledIndica que el controlador está activado.
PE_IndicatorBranchQStyleOptionState_ChildrenIndica que debe dibujarse el control para expandir el árbol y mostrar los elementos secundarios.
State_ItemIndica que debe dibujarse una rama horizontal (para mostrar un elemento hijo).
State_OpenIndica que la rama del árbol está expandida.
State_SiblingIndica que debe dibujarse una línea vertical (para mostrar un elemento hermano).
PE_IndicatorHeaderArrowQStyleOptionHeaderState_UpArrowIndica que la flecha debe dibujarse hacia arriba; en caso contrario, hacia abajo.
PE_FrameGroupBox, PE_Frame, PE_FrameLineEdit, PE_FrameMenu, PE_FrameDockWidget, PE_FrameWindowQStyleOptionFrameState_SunkenIndica que el Marco debe estar hundido.
PE_IndicatorToolBarHandleQStyleOptionState_HorizontalIndica que el tirador de la ventana sea horizontal en lugar de vertical.
PE_IndicatorSpinPlus, PE_IndicatorSpinMinus, PE_IndicatorSpinUp, PE_IndicatorSpinDown,QStyleOptionSpinBoxState_SunkenIndica que el botón está pulsado.
PE_PanelButtonCommandQStyleOptionButtonState_EnabledIndica si el botón está activado.
State_HasFocusEstablece si el botón tiene foco de entrada.
State_RaisedEstablece si el botón no está pulsado, no está encendido y no está plano.
State_OnEstablece si el botón es un botón basculante y está activado.
State_SunkenEstablece si el botón está pulsado (es decir, el botón del ratón o la barra espaciadora están pulsados sobre el botón).

Véase también drawComplexControl() y drawControl().

[pure virtual] QPixmap QStyle::generatedIconPixmap(QIcon::Mode iconMode, const QPixmap &pixmap, const QStyleOption *option) const

Devuelve una copia del pixmap dado , estilizado para ajustarse al iconMode especificado y teniendo en cuenta la paleta especificada por option.

El parámetro option puede incluir información adicional, pero debe contener una paleta.

Tenga en cuenta que no todos los mapas de píxeles serán conformes, en cuyo caso el mapa de píxeles devuelto será una copia sin formato.

Véase también QIcon.

[pure virtual] QStyle::SubControl QStyle::hitTestComplexControl(QStyle::ComplexControl control, const QStyleOptionComplex *option, const QPoint &position, const QWidget *widget = nullptr) const

Devuelve el subcontrol en el position dado en el complejo dado control (con las opciones de estilo especificadas por option).

Tenga en cuenta que position se expresa en coordenadas de pantalla.

El argumento option es un puntero a un objeto QStyleOptionComplex (o a una de sus subclases). El objeto se puede convertir al tipo apropiado mediante la función qstyleoption_cast(). Véase drawComplexControl() para más detalles. El argumento widget es opcional y puede contener información adicional para la función.

Véase también drawComplexControl() y subControlRect().

[virtual] QRect QStyle::itemPixmapRect(const QRect &rectangle, int alignment, const QPixmap &pixmap) const

Devuelve el área dentro del rectangle dado en la que dibujar el pixmap especificado según el alignment definido.

[virtual] QRect QStyle::itemTextRect(const QFontMetrics &metrics, const QRect &rectangle, int alignment, bool enabled, const QString &text) const

Devuelve el área dentro del rectangle dado en la que dibujar el text proporcionado de acuerdo con la fuente especificada metrics y alignment. El parámetro enabled indica si el elemento asociado está activado o no.

Si el rectangle dado es mayor que el área necesaria para dibujar el text, el rectángulo devuelto se desplazará dentro de rectangle según el alignment especificado. Por ejemplo, si alignment es Qt::AlignCenter, el rectángulo devuelto estará centrado dentro de rectangle. Si rectangle es menor que el área necesaria, el rectángulo devuelto será el rectángulo más pequeño lo suficientemente grande como para representar text.

Véase también Qt::Alignment.

[pure virtual] int QStyle::layoutSpacing(QSizePolicy::ControlType control1, QSizePolicy::ControlType control2, Qt::Orientation orientation, const QStyleOption *option = nullptr, const QWidget *widget = nullptr) const

Devuelve el espaciado que debe utilizarse entre control1 y control2 en un diseño. orientation especifica si los controles se disponen uno al lado del otro o apilados verticalmente. El parámetro option puede utilizarse para pasar información adicional sobre el widget padre. El parámetro widget es opcional y también puede utilizarse si option es nullptr.

Esta función es llamada por el sistema de diseño. Sólo se utiliza si PM_LayoutHorizontalSpacing o PM_LayoutVerticalSpacing devuelven un valor negativo.

Véase también combinedLayoutSpacing().

[since 6.1] QString QStyle::name() const

Devuelve el nombre del estilo.

Este valor se puede utilizar para crear un estilo con QStyleFactory::create().

Esta función se introdujo en Qt 6.1.

Véase también QStyleFactory::create().

[pure virtual] int QStyle::pixelMetric(QStyle::PixelMetric metric, const QStyleOption *option = nullptr, const QWidget *widget = nullptr) const

Devuelve el valor del píxel dado metric.

Los valores option y widget especificados pueden utilizarse para calcular la métrica. option se puede convertir al tipo apropiado mediante la función qstyleoption_cast(). Tenga en cuenta que option puede ser cero incluso para PixelMetrics que puedan utilizarlo. Consulte la tabla siguiente para conocer las conversiones apropiadas de option:

Algunas métricas de píxeles son llamadas desde widgets y otras sólo son llamadas internamente por el estilo. Si la métrica no es llamada por un widget, es discreción del autor del estilo hacer uso de ella. Para algunos estilos, esto puede no ser apropiado.

[virtual] void QStyle::polish(QWidget *widget)

Inicializa la apariencia del widget widget.

Esta función es llamada para cada widget en algún momento después de que haya sido completamente creado pero justo antes de que se muestre por primera vez.

Tenga en cuenta que la implementación por defecto no hace nada. Acciones razonables en esta función podrían ser llamar a la función QWidget::setBackgroundMode() para el widget. No uses la función para establecer, por ejemplo, la geometría. Reimplementar esta función proporciona una puerta trasera a través de la cual se puede cambiar la apariencia de un widget, pero con el motor de estilo de Qt raramente es necesario implementar esta función; reimplemente drawItemPixmap(), drawItemText(), drawPrimitive(), etc. en su lugar.

La función QWidget::inherits() puede proporcionar suficiente información para permitir personalizaciones específicas de clase. Pero como se espera que las nuevas subclases de QStyle funcionen razonablemente con todos los widgets actuales y futuros, se recomienda un uso limitado de la personalización mediante código duro.

Véase también unpolish().

[virtual] void QStyle::polish(QApplication *application)

Inicialización tardía del objeto application dado.

Se trata de una función sobrecargada.

[virtual] void QStyle::polish(QPalette &palette)

Cambia la dirección palette de acuerdo con los requisitos específicos del estilo para las paletas de colores (si existen).

Se trata de una función sobrecargada.

Véase también QPalette y QApplication::setPalette().

const QStyle *QStyle::proxy() const

Esta función devuelve el proxy actual para este estilo. Por defecto, la mayoría de los estilos se devuelven a sí mismos. Sin embargo, cuando un estilo proxy está en uso, permitirá que el estilo devuelva la llamada a su proxy.

[pure virtual] QSize QStyle::sizeFromContents(QStyle::ContentsType type, const QStyleOption *option, const QSize &contentsSize, const QWidget *widget = nullptr) const

Devuelve el tamaño del elemento descrito por option y type especificados, basándose en contentsSize.

El argumento option es un puntero a QStyleOption o a una de sus subclases. option puede convertirse al tipo apropiado mediante la función qstyleoption_cast(). widget es un argumento opcional y puede contener información adicional utilizada para calcular el tamaño.

En la tabla siguiente se indican los tipos apropiados de option:

Véase también ContentsType y QStyleOption.

[static] int QStyle::sliderPositionFromValue(int min, int max, int logicalValue, int span, bool upsideDown = false)

Convierte el parámetro logicalValue en una posición de píxel. El parámetro min se asigna a 0, max se asigna a span y los demás valores se distribuyen uniformemente entre ambos.

Esta función puede manejar todo el rango de enteros sin desbordarse, siempre que span sea inferior a 4096.

Por defecto, esta función asume que el valor máximo está a la derecha para los elementos horizontales y en la parte inferior para los elementos verticales. Establezca el parámetro upsideDown en true para invertir este comportamiento.

Véase también sliderValueFromPosition().

[static] int QStyle::sliderValueFromPosition(int min, int max, int position, int span, bool upsideDown = false)

Convierte el píxel dado position en un valor lógico. 0 corresponde al parámetro min, span corresponde a max y los demás valores se distribuyen uniformemente entre ambos.

Esta función puede manejar todo el rango de enteros sin desbordarse.

Por defecto, esta función asume que el valor máximo está a la derecha para los elementos horizontales y en la parte inferior para los elementos verticales. Establezca el parámetro upsideDown en true para invertir este comportamiento.

Véase también sliderPositionFromValue().

[pure virtual] QIcon QStyle::standardIcon(QStyle::StandardPixmap standardIcon, const QStyleOption *option = nullptr, const QWidget *widget = nullptr) const

Devuelve un icono para la dirección standardIcon.

standardIcon es un mapa de píxeles estándar que puede seguir algún estilo o pauta de interfaz gráfica de usuario existente. El argumento option puede utilizarse para pasar información adicional necesaria a la hora de definir el icono apropiado. El argumento widget es opcional y también puede utilizarse para ayudar a determinar el icono.

[virtual] QPalette QStyle::standardPalette() const

Devuelve la paleta estándar del estilo.

Tenga en cuenta que en los sistemas que admiten los colores del sistema, no se utiliza la paleta estándar del estilo. En particular, los estilos Windows Vista y Mac no utilizan la paleta estándar, sino que hacen uso de motores de temas nativos. Con estos estilos, no debe establecer la paleta con QApplication::setPalette().

Véase también QApplication::setPalette().

[pure virtual] int QStyle::styleHint(QStyle::StyleHint hint, const QStyleOption *option = nullptr, const QWidget *widget = nullptr, QStyleHintReturn *returnData = nullptr) const

Devuelve un entero que representa el estilo especificado hint para el widget dado descrito por el estilo proporcionado option.

returnData se utiliza cuando el widget que realiza la consulta necesita datos más detallados que el entero que devuelve styleHint(). Véase la descripción de la clase QStyleHintReturn para más detalles.

[pure virtual] QRect QStyle::subControlRect(QStyle::ComplexControl control, const QStyleOptionComplex *option, QStyle::SubControl subControl, const QWidget *widget = nullptr) const

Devuelve el rectángulo que contiene el subControl especificado del complejo dado control (con el estilo especificado por option). El rectángulo se define en coordenadas de pantalla.

El argumento option es un puntero a QStyleOptionComplex o a una de sus subclases, y puede convertirse al tipo apropiado utilizando la función qstyleoption_cast(). Véase drawComplexControl() para más detalles. widget es opcional y puede contener información adicional para la función.

Véase también drawComplexControl().

[pure virtual] QRect QStyle::subElementRect(QStyle::SubElement element, const QStyleOption *option, const QWidget *widget = nullptr) const

Devuelve la subárea para el element dado como se describe en el estilo proporcionado option. El rectángulo devuelto se define en coordenadas de pantalla.

El argumento widget es opcional y puede utilizarse como ayuda para determinar el área. El objeto QStyleOption puede convertirse al tipo apropiado mediante la función qstyleoption_cast(). En la tabla siguiente se indican las conversiones correspondientes a option:

[virtual] void QStyle::unpolish(QWidget *widget)

Desinicializa la apariencia de widget.

Esta función es la contrapartida de polish(). Es llamada para cada widget pulido cada vez que el estilo es cambiado dinámicamente; el estilo anterior tiene que despulir sus ajustes antes de que el nuevo estilo pueda pulirlos de nuevo.

Tenga en cuenta que unpolish() sólo será llamada si el widget es destruido. Esto puede causar problemas en algunos casos, por ejemplo, si se elimina un widget de la interfaz de usuario, se almacena en caché, y luego se vuelve a insertar después de que el estilo haya cambiado; algunas de las clases de Qt almacenan en caché sus widgets.

Véase también polish().

[virtual] void QStyle::unpolish(QApplication *application)

Desinicializa la dirección application.

Se trata de una función sobrecargada.

[static] Qt::Alignment QStyle::visualAlignment(Qt::LayoutDirection direction, Qt::Alignment alignment)

Transforma un alignment de Qt::AlignLeft o Qt::AlignRight sin Qt::AlignAbsolute en Qt::AlignLeft o Qt::AlignRight con Qt::AlignAbsolute según la disposición direction. Los otros indicadores de alineación no se modifican.

Si no se especifica ninguna alineación horizontal, la función devuelve la alineación por defecto para el diseño dado direction.

QWidget::layoutDirection

[static] QPoint QStyle::visualPos(Qt::LayoutDirection direction, const QRect &boundingRectangle, const QPoint &logicalPosition)

Devuelve el logicalPosition dado convertido a coordenadas de pantalla basándose en el direction especificado. El boundingRectangle se utiliza al realizar la traducción.

Véase también QWidget::layoutDirection.

[static] QRect QStyle::visualRect(Qt::LayoutDirection direction, const QRect &boundingRectangle, const QRect &logicalRectangle)

Devuelve el logicalRectangle dado convertido a coordenadas de pantalla basándose en el direction especificado. Se utiliza boundingRectangle al realizar la conversión.

Esta función se proporciona para soportar escritorios de derecha a izquierda, y se utiliza normalmente en implementaciones de la función subControlRect().

Véase también QWidget::layoutDirection.

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