Sur cette page

QStyle Class

La classe QStyle est une classe de base abstraite qui encapsule l'apparence et le comportement d'une interface graphique. En savoir plus...

En-tête : #include <QStyle>
CMake : find_package(Qt6 REQUIRED COMPONENTS Widgets)
target_link_libraries(mytarget PRIVATE Qt6::Widgets)
qmake : QT += widgets
Hérite de : QObject
Hérité par :

QCommonStyle

Types publics

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 }

Fonctions publiques

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)

Membres publics statiques

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)

Description détaillée

Les styles windows et fusion sont intégrés au module Qt Widgets. Les styles de plateforme sont des plugins de style : windows11, qui suit le design Fluent de Windows 11, ainsi que windowsvista sous Windows, macos sous macOS et android sous Android. QStyleFactory répertorie les styles disponibles à l’exécution et les crée par leur nom.

Les widgets intégrés de Qt utilisent QStyle pour effectuer la quasi-totalité de leur rendu, ce qui garantit qu'ils ressemblent exactement aux widgets natifs équivalents. Les images suivantes montrent le même formulaire dans les styles windows11, windowsvista et windows sous Windows, ainsi que dans les styles fusion et macos.

Formulaire comprenant un champ de texte, une liste déroulante, une zone de saisie numérique, un curseur, une case à cocher, une barre de progression et des boutons, dans le style Windows 11

Windows 11

Formulaire comportant un champ de texte, une liste déroulante, un champ de saisie à molette, un curseur, une case à cocher, une barre de progression et des boutons, dans le style Windows Vista

Windows Vista

Formulaire comprenant un champ de texte, une liste déroulante, un champ de saisie numérique, un curseur, une case à cocher, une barre de progression et des boutons, dans le style Windows

Windows

Formulaire comprenant un champ de texte, une liste déroulante, un champ à valeur unique, un curseur, une case à cocher, une barre de progression et des boutons, dans le style Fusion

Fusion

Formulaire comprenant un champ de texte, une liste déroulante, un champ de saisie à molette, un curseur, une case à cocher, une barre de progression et des boutons, dans le style Fusion avec une palette de couleurs sombres

Fusion avec une palette sombre

Formulaire comprenant un champ de texte, une liste déroulante, un champ de saisie numérique, un curseur, une case à cocher, une barre de progression et des boutons, dans le style macOS

macOS

Définition d'un style

Le style de l'ensemble de l'application peut être défini à l'aide de la fonction QApplication::setStyle(). Il peut également être spécifié par l'utilisateur de l'application, à l'aide de l'option de ligne de commande -style:

./myapplication -style windows

Si aucun style n'est spécifié, Qt choisira le style le plus approprié pour la plate-forme ou l'environnement de bureau de l'utilisateur.

Un style peut également être défini pour un widget individuel à l'aide de la fonction ` QWidget::setStyle()`.

Choix d’une approche de mise en forme

Choisissez le mécanisme qui correspond à l’ampleur des modifications que vous souhaitez apporter :

  • Pour ajuster le style de la plateforme, créez une sous-classe de ` QProxyStyle`.
  • Pour implémenter une apparence entièrement personnalisée, créez une sous-classe de ` QCommonStyle`.
  • Pour décrire le design de manière déclarative et le partager avec ` Qt Quick Controls`, utilisez StyleKit et son ` QStyleKitStyle`.

La section «Approches de mise en forme pour Qt Widgets » compare ces options aux feuilles de style Qt et explique dans quels cas chacune d’entre elles est appropriée.

Développement de widgets personnalisés tenant compte du style

Si vous développez des widgets personnalisés et que vous souhaitez qu’ils s’affichent correctement sur toutes les plateformes, vous pouvez utiliser les fonctions QStyle pour effectuer certaines parties du dessin du widget, telles que drawItemText(), drawItemPixmap(), drawPrimitive(), drawControl() et drawComplexControl().

La plupart des fonctions de dessin de QStyle prennent quatre arguments :

  • une valeur d’énumération spécifiant l’élément graphique à dessiner
  • un « QStyleOption » précisant comment et où afficher cet élément
  • un « QPainter » à utiliser pour dessiner l’élément
  • un QWidget sur lequel le dessin est effectué (facultatif)

Par exemple, si vous souhaitez dessiner un rectangle de focus sur votre widget, vous pouvez écrire :

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 récupère toutes les informations dont il a besoin pour afficher l'élément graphique à partir de ` QStyleOption`. Le widget est passé en dernier argument au cas où le style en aurait besoin pour réaliser des effets spéciaux (tels que les boutons par défaut animés sous macOS), mais ce n'est pas obligatoire. En effet, vous pouvez utiliser QStyle pour dessiner sur n'importe quel périphérique de dessin, et pas seulement sur des widgets, en configurant correctement l'QPainter.

QStyleOption PE_FrameFocusRect dispose de diverses sous-classes correspondant aux différents types d’éléments graphiques pouvant être dessinés. Par exemple, attend un argument . QStyleOptionFocusRect

Pour garantir que les opérations de dessin soient aussi rapides que possible, QStyleOption et ses sous-classes disposent de membres de données publics. Consultez la documentation de la classe QStyleOption pour plus de détails sur son utilisation.

Pour plus de commodité, Qt fournit la classe ` QStylePainter `, qui combine un `QStyle`, un ` QPainter` et un ` QWidget`. Cela permet d'écrire

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

au lieu de

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

Créer un style personnalisé

Vous pouvez créer une apparence personnalisée pour votre application en créant un style personnalisé. Il existe deux approches. Pour modifier certains aspects d'un style existant, créez une sous-classe de ` QProxyStyle ` et réimplémentez les fonctions virtuelles qui dessinent ou mesurent les éléments que vous souhaitez modifier ; le proxy transmet tout le reste au style qu'il encapsule, par défaut le style de la plateforme. Pour implémenter une apparence complète, créez une sous-classe de ` QCommonStyle`, qui implémente le comportement commun à tous les styles de Qt et vous laisse le soin du dessin. Les styles intégrés de Qt ne font pas partie de l’API publique et ne peuvent pas servir de classes de base ; encapsulez-les plutôt avec ` QProxyStyle `.

Selon les parties du style de base que vous souhaitez modifier, vous devez réimplémenter les fonctions utilisées pour dessiner ces parties de l’interface. Pour illustrer cela, nous allons modifier l’apparence des flèches de la zone de sélection dessinées par le style de la plateforme. Les flèches sont des éléments primitifs dessinés par la fonction ` drawPrimitive()`, nous devons donc réimplémenter cette fonction. Nous avons besoin de la déclaration de classe suivante :

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;
};

Pour dessiner ses flèches haut et bas, la fonction ` QSpinBox ` utilise les éléments primitifs ` PE_IndicatorSpinUp ` et ` PE_IndicatorSpinDown `. Voici comment réimplémenter la fonction ` drawPrimitive()` pour les dessiner différemment :

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);
    }
}

Notez que nous n'utilisons pas l'argument ` widget `, sauf pour le transmettre à la fonction ` QProxyStyle::drawPrimitive()`. Comme mentionné précédemment, les informations concernant ce qui doit être dessiné et la manière dont cela doit être dessiné sont spécifiées par un objet ` QStyleOption ` ; il n'est donc pas nécessaire de les demander au widget.

Si vous devez utiliser l’argument ` widget ` pour obtenir des informations supplémentaires, veillez à ce qu’il ne soit pas égal à 0 et qu’il soit du type approprié avant de l’utiliser. Par exemple :

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

Lors de l’implémentation d’un style personnalisé, vous ne pouvez pas supposer que le widget est de type « QSpinBox » simplement parce que la valeur d’énumération s’appelle « PE_IndicatorSpinUp » ou « PE_IndicatorSpinDown ».

Utilisation d’un style personnalisé

Il existe plusieurs façons d’utiliser un style personnalisé dans une application Qt. La plus simple consiste à transmettre le style personnalisé à la fonction statique ` QApplication::setStyle()` avant de créer l’objet ` 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();
}

Vous pouvez appeler QApplication::setStyle() à tout moment, mais en l'appelant avant le constructeur, vous vous assurez que la préférence de l'utilisateur, définie à l'aide de l'option de ligne de commande -style, est respectée.

Vous souhaiterez peut-être rendre votre style personnalisé disponible pour d’autres applications, qui ne sont pas forcément les vôtres et que vous ne pouvez donc pas recompiler. Le système de plugins Qt permet de créer des styles sous forme de plugins. Les styles créés en tant que plugins sont chargés en tant qu’objets partagés lors de l’exécution par Qt lui-même. Veuillez vous reporter à la documentation sur les plugins Qt pour plus d’informations sur la manière de créer un plugin de style.

Compilez votre plugin et placez-le dans le répertoire ` plugins/styles ` de Qt. Nous disposons désormais d’un style modulable que Qt peut charger automatiquement. Pour utiliser votre nouveau style avec des applications existantes, il suffit de lancer l’application avec l’argument suivant :

./myapplication -style custom

L'application utilisera l'apparence et le comportement du style personnalisé que vous avez implémenté.

Bureaux de droite à gauche

Les langues s’écrivant de droite à gauche (telles que l’arabe et l’hébreu) inversent généralement toute la disposition des widgets et nécessitent que la lumière provienne du coin supérieur droit de l’écran plutôt que du coin supérieur gauche.

Si vous créez un style personnalisé, vous devez apporter un soin particulier au tracé des éléments asymétriques afin de vous assurer qu’ils s’affichent correctement même dans une disposition inversée. Un moyen simple de tester vos styles consiste à exécuter les applications avec l’option de ligne de commande ` -reverse ` ou à appeler ` QApplication::setLayoutDirection()` dans votre fonction ` main() `.

Voici quelques points à garder à l’esprit pour qu’un style fonctionne correctement dans un environnement de lecture de droite à gauche :

  • subControlRect() et subElementRect() renvoient des rectangles en coordonnées d'écran
  • QStyleOption::direction indique dans quelle direction l’élément doit être dessiné
  • Si un style ne prend pas en charge l’affichage de droite à gauche, il affichera les éléments comme s’il s’agissait d’un affichage de gauche à droite
  • visualRect(), visualPos() et visualAlignment() sont des fonctions utiles qui permettent de convertir les représentations logiques en représentations à l’écran.
  • alignedRect() renvoie un rectangle logique aligné selon la direction actuelle

Styles dans les vues d’éléments

Le tracé des éléments dans les vues est effectué par un délégué. Le délégué par défaut de Qt, ` QStyledItemDelegate`, est également utilisé pour calculer les rectangles englobants des éléments et de leurs sous-éléments pour les différents types d’éléments pris en charge par ` data roles ` ( QStyledItemDelegate ). Consultez la description de la classe QStyledItemDelegate pour connaître les types de données et les rôles pris en charge. Pour en savoir plus sur les rôles des données d’élément, consultez la section Programmation Modèle/Vue.

Lorsqu’ QStyledItemDelegate dessine ses éléments, il trace les « CE_ItemViewItem » et calcule leur taille à l’aide de « CT_ItemViewItem ». Notez également qu’il utilise « SE_ItemViewItemText » pour définir la taille des éditeurs. Lorsque vous implémentez un style pour personnaliser le dessin des vues d’éléments, vous devez vérifier l’implémentation de ` QCommonStyle ` (ainsi que de toute autre sous-classe dont votre style hérite). De cette manière, vous découvrez quels autres éléments de style sont dessinés et comment, et vous pouvez alors réimplémenter le dessin des éléments qui doivent être représentés différemment.

Nous incluons un petit exemple dans lequel nous personnalisons l’affichage des arrière-plans des éléments.

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);
}

L’élément primitif ` PE_PanelItemViewItem ` est chargé de dessiner l’arrière-plan des éléments ; il est appelé depuis l’implémentation de ` CE_ItemViewItem` par ` QCommonStyle`.

Pour prendre en charge le dessin de nouveaux types de données et rôles de données d'élément, il est nécessaire de créer un délégué personnalisé. Toutefois, si vous n’avez besoin de prendre en charge que les types de données implémentés par le délégué par défaut, un style personnalisé ne nécessite pas de délégué associé. La description de la classe ` QStyledItemDelegate ` fournit davantage d’informations sur les délégués personnalisés.

Le tracé des en-têtes de la vue des éléments est également géré par le style, ce qui permet de contrôler la taille des éléments d’en-tête ainsi que celle des lignes et des colonnes.

Voir également QStyleOption, QStylePainter, Styles et widgets prenant en charge les styles, Approches de mise en forme pour Qt Widgets, QStyledItemDelegate et Mise en forme.

Documentation sur les types de membres

enum QStyle::ComplexControl

Cette énumération décrit les contrôles complexes disponibles. Les contrôles complexes ont un comportement différent selon l'endroit où l'utilisateur clique dessus ou selon les touches sur lesquelles il appuie.

ConstanteValeurDescription
QStyle::CC_SpinBox0Une zone de sélection, comme QSpinBox.
QStyle::CC_ComboBox1Une liste déroulante, comme QComboBox.
QStyle::CC_ScrollBar2Une barre de défilement, comme QScrollBar.
QStyle::CC_Slider3Un curseur, comme QSlider.
QStyle::CC_ToolButton4Un bouton d'outil, comme sur QToolButton.
QStyle::CC_TitleBar5Une barre de titre, comme celles utilisées sur QMdiSubWindow.
QStyle::CC_GroupBox7Une zone de groupe, comme sur QGroupBox.
QStyle::CC_Dial6Un cadran, comme celui de QDial.
QStyle::CC_MdiControls8Les boutons de réduction, de fermeture et de retour à la taille normale dans la barre de menus d’une sous-fenêtre MDI agrandie.
QStyle::CC_CustomBase0xf0000000Valeur de base pour les contrôles complexes personnalisés. Les valeurs personnalisées doivent être supérieures à cette valeur.

Voir également SubControl et drawComplexControl().

enum QStyle::ContentsType

Cette énumération décrit les types de contenu disponibles. Ceux-ci servent à calculer les tailles du contenu de divers widgets.

ConstanteValeurDescription
QStyle::CT_CheckBox1Une case à cocher, comme QCheckBox.
QStyle::CT_ComboBox4Une liste déroulante, comme QComboBox.
QStyle::CT_HeaderSection19Une section d'en-tête, comme QHeader.
QStyle::CT_LineEdit14Un champ de saisie de texte, comme QLineEdit.
QStyle::CT_Menu10Un menu, comme QMenu.
QStyle::CT_MenuBar9Une barre de menus, comme QMenuBar.
QStyle::CT_MenuBarItem8Un élément de barre de menus, comme les boutons d'une QMenuBar.
QStyle::CT_MenuItem7Un élément de menu, tel que QMenuItem.
QStyle::CT_ProgressBar6Une barre de progression, comme QProgressBar.
QStyle::CT_PushButton0Un bouton-poussoir, comme QPushButton.
QStyle::CT_RadioButton2Un bouton radio, comme QRadioButton.
QStyle::CT_SizeGrip16Une poignée de redimensionnement, comme QSizeGrip.
QStyle::CT_Slider12Un curseur, comme QSlider.
QStyle::CT_ScrollBar13Une barre de défilement, comme QScrollBar.
QStyle::CT_SpinBox15Une zone de saisie à rouleau, comme QSpinBox.
QStyle::CT_Splitter5Un séparateur, comme celui-ci : QSplitter.
QStyle::CT_TabBarTab11Un onglet dans une barre d'onglets, comme sur QTabBar.
QStyle::CT_TabWidget17Un widget d'onglet, comme QTabWidget.
QStyle::CT_ToolButton3Un bouton d'outil, comme QToolButton.
QStyle::CT_GroupBox20Une zone de groupe, comme QGroupBox.
QStyle::CT_ItemViewItem22Un élément à l’intérieur d’une vue d’éléments.
QStyle::CT_CustomBase0xf0000000Valeur de base pour les types de contenu personnalisés. Les valeurs personnalisées doivent être supérieures à cette valeur.
QStyle::CT_MdiControls21Les boutons de réduction, d’affichage normal et de fermeture dans la barre de menus d’une sous-fenêtre MDI agrandie.

Voir également sizeFromContents().

enum QStyle::ControlElement

Cette énumération représente un élément de contrôle. Un élément de contrôle est une partie d'un widget qui effectue une action ou affiche des informations à l'utilisateur.

ConstanteValeurDescription
QStyle::CE_PushButton0Un élément de contrôle ( QPushButton) dessine les éléments CE_PushButtonBevel, CE_PushButtonLabel et PE_FrameFocusRect.
QStyle::CE_PushButtonBevel1Le biseau et l'indicateur par défaut d'un « QPushButton ».
QStyle::CE_PushButtonLabel2L'étiquette (une icône avec du texte ou une image) d'un « QPushButton ».
QStyle::CE_DockWidgetTitle30Titre de la fenêtre d'ancrage.
QStyle::CE_Splitter28Poignée de séparation ; voir également QSplitter.
QStyle::CE_CheckBox3Un QCheckBox, dessine un PE_IndicatorCheckBox, un CE_CheckBoxLabel et un PE_FrameFocusRect.
QStyle::CE_CheckBoxLabel4L'étiquette (texte ou image) d'un QCheckBox.
QStyle::CE_RadioButton5Un QRadioButton dessine un PE_IndicatorRadioButton, un CE_RadioButtonLabel et un PE_FrameFocusRect.
QStyle::CE_RadioButtonLabel6L'étiquette (texte ou image) d'un QRadioButton.
QStyle::CE_TabBarTab7L'onglet et le libellé au sein d'un « QTabBar ».
QStyle::CE_TabBarTabShape8La forme de l'onglet au sein d'une barre d'onglets.
QStyle::CE_TabBarTabLabel9L'étiquette contenue dans un onglet.
QStyle::CE_ProgressBar10Un ` QProgressBar` dessine un `CE_ProgressBarGroove`, un `CE_ProgressBarContents` et un `CE_ProgressBarLabel`.
QStyle::CE_ProgressBarGroove11La rainure dans laquelle l’indicateur de progression est dessiné dans une barre de progression ( QProgressBar).
QStyle::CE_ProgressBarContents12L’indicateur de progression d’une barre de progression ( QProgressBar).
QStyle::CE_ProgressBarLabel13L'étiquette textuelle d'une barre de progression ( QProgressBar).
QStyle::CE_ToolButtonLabel22L'étiquette d'un bouton d'outil.
QStyle::CE_MenuBarItem20Un élément de menu dans une barre de progression ( QMenuBar).
QStyle::CE_MenuBarEmptyArea21La zone vide d'une « QMenuBar ».
QStyle::CE_MenuItem14Un élément de menu dans une « QMenu ».
QStyle::CE_MenuScroller15Les zones défilantes d'une « QMenu » lorsque le style prend en charge le défilement.
QStyle::CE_MenuTearoff18Un élément de menu représentant la partie détachable d'un « QMenu ».
QStyle::CE_MenuEmptyArea19La zone d’un menu ne contenant aucun élément de menu.
QStyle::CE_MenuHMargin17L'espace supplémentaire horizontal à gauche/à droite d'un menu.
QStyle::CE_MenuVMargin16L'espace supplémentaire vertical en haut et en bas d'un menu.
QStyle::CE_ToolBoxTab26L'onglet et l'étiquette de la boîte à outils au sein d'un « QToolBox ».
QStyle::CE_SizeGrip27Poignée de redimensionnement de la fenêtre ; voir également « QSizeGrip ».
QStyle::CE_Header23Un en-tête.
QStyle::CE_HeaderSection24Une section d'en-tête.
QStyle::CE_HeaderLabel25L'étiquette de l'en-tête.
QStyle::CE_ScrollBarAddLine31Indicateur d’augmentation de la ligne de la barre de défilement. (c’est-à-dire, défilement vers le bas) ; voir également « QScrollBar ».
QStyle::CE_ScrollBarSubLine32Indicateur de diminution de la barre de défilement (c'est-à-dire « défilement vers le haut »).
QStyle::CE_ScrollBarAddPage33Indicateur de passage à la page suivante de la barre de défilement (c'est-à-dire « Page suivante »).
QStyle::CE_ScrollBarSubPage34Indicateur de diminution de page de la barre de défilement (c'est-à-dire « Page précédente »).
QStyle::CE_ScrollBarSlider35Curseur de la barre de défilement.
QStyle::CE_ScrollBarFirst36Indicateur de première ligne de la barre de défilement (c'est-à-dire « Accueil »).
QStyle::CE_ScrollBarLast37Indicateur de dernière ligne de la barre de défilement (c'est-à-dire « Fin »).
QStyle::CE_RubberBand29Bande élastique utilisée, par exemple, dans une vue par icônes.
QStyle::CE_FocusFrame38Cadre de sélection dont le style est contrôlé.
QStyle::CE_ItemViewItem45Élément situé à l’intérieur d’une vue d’éléments.
QStyle::CE_CustomBase0xf0000000Valeur de base pour les éléments de contrôle personnalisés ; les valeurs personnalisées doivent être supérieures à cette valeur.
QStyle::CE_ComboBoxLabel39L'étiquette d'un champ non modifiable ( QComboBox).
QStyle::CE_ToolBar40QToolBar e de type barre d’outils.
QStyle::CE_ToolBoxTabShape41La forme de l'onglet de la boîte à outils.
QStyle::CE_ToolBoxTabLabel42L'étiquette de l'onglet de la boîte à outils.
QStyle::CE_HeaderEmptyArea43La zone d'une vue d'en-tête où il n'y a pas de sections d'en-tête.
QStyle::CE_ShapedFrame46Le cadre dont la forme est spécifiée dans QStyleOptionFrame; voir QFrame.

Voir également drawControl().

enum QStyle::PixelMetric

Cette énumération décrit les différentes mesures de pixels disponibles. Une mesure de pixel est une taille dépendante du style, représentée par une valeur en pixels.

ConstanteValeurDescription
QStyle::PM_ButtonMargin0Espace blanc entre les libellés des boutons et le cadre.
QStyle::PM_DockWidgetTitleBarButtonMargin73Espace entre les libellés des boutons de la barre de titre d’un widget d’ancrage et le cadre.
QStyle::PM_ButtonDefaultIndicator1Largeur du cadre de l'indicateur du bouton par défaut.
QStyle::PM_MenuButtonIndicator2Largeur de l'indicateur du bouton de menu, proportionnelle à la hauteur du widget.
QStyle::PM_ButtonShiftHorizontal3Décalage horizontal du contenu d'un bouton lorsque celui-ci est enfoncé.
QStyle::PM_ButtonShiftVertical4Décalage vertical du contenu d’un bouton lorsque celui-ci est enfoncé.
QStyle::PM_DefaultFrameWidth5Largeur par défaut du cadre (généralement 2).
QStyle::PM_SpinBoxFrameWidth6Largeur du cadre d'une zone de saisie à molette, dont la valeur par défaut est PM_DefaultFrameWidth.
QStyle::PM_ComboBoxFrameWidth7Largeur du cadre d’une liste déroulante ; la valeur par défaut est PM_DefaultFrameWidth.
QStyle::PM_MdiSubWindowFrameWidth44Largeur du cadre d’une fenêtre MDI.
QStyle::PM_MdiSubWindowMinimizedWidth45Largeur d’une fenêtre MDI minimisée.
QStyle::PM_LayoutLeftMargin75left margin par défaut pour une QLayout.
QStyle::PM_LayoutTopMargin76top margin s par défaut pour une boîte de dialogue « QLayout ».
QStyle::PM_LayoutRightMargin77right margin s par défaut pour une fenêtre « QLayout ».
QStyle::PM_LayoutBottomMargin78bottom margin par défaut pour une QLayout.
QStyle::PM_LayoutHorizontalSpacing79horizontal spacing par défaut pour une QLayout.
QStyle::PM_LayoutVerticalSpacing80vertical spacing par défaut pour un QLayout.
QStyle::PM_MaximumDragDistance8Distance maximale autorisée entre la souris et une barre de défilement lors d’un glissement. Le dépassement de la distance spécifiée entraînera le retour du curseur à sa position d’origine ; une valeur de -1 désactive ce comportement.
QStyle::PM_ScrollBarExtent9Largeur d’une barre de défilement verticale et hauteur d’une barre de défilement horizontale.
QStyle::PM_ScrollBarSliderMin10Hauteur minimale du curseur d’une barre de défilement verticale et largeur minimale du curseur d’une barre de défilement horizontale.
QStyle::PM_SliderThickness11Épaisseur totale du curseur.
QStyle::PM_SliderControlThickness12Épaisseur de la poignée du curseur.
QStyle::PM_SliderLength13Longueur du curseur.
QStyle::PM_SliderTickmarkOffset14Le décalage entre les repères et le curseur.
QStyle::PM_SliderSpaceAvailable15L'espace disponible pour le déplacement du curseur.
QStyle::PM_DockWidgetSeparatorExtent16Largeur d’un séparateur dans une fenêtre d’ancrage horizontale et hauteur d’un séparateur dans une fenêtre d’ancrage verticale.
QStyle::PM_DockWidgetHandleExtent17Largeur de la poignée dans une fenêtre d'ancrage horizontale et hauteur de la poignée dans une fenêtre d'ancrage verticale.
QStyle::PM_DockWidgetFrameWidth18Largeur du cadre d’une fenêtre d’ancrage.
QStyle::PM_DockWidgetTitleMargin70La marge du titre de la fenêtre ancrée.
QStyle::PM_MenuBarPanelWidth33Largeur du cadre d’une barre de menus ; la valeur par défaut est PM_DefaultFrameWidth.
QStyle::PM_MenuBarItemSpacing34Espacement entre les éléments de la barre de menus.
QStyle::PM_MenuBarHMargin36Espacement entre les éléments de la barre de menus et à gauche/à droite de la barre.
QStyle::PM_MenuBarVMargin35Espacement entre les éléments de la barre de menus et le haut/bas de la barre.
QStyle::PM_ToolBarFrameWidth52Largeur du cadre entourant les barres d'outils.
QStyle::PM_ToolBarHandleExtent53Largeur de la poignée d'une barre d'outils horizontale et hauteur de la poignée d'une barre d'outils verticale.
QStyle::PM_ToolBarItemMargin55Espacement entre le cadre de la barre d'outils et les éléments.
QStyle::PM_ToolBarItemSpacing54Espacement entre les éléments de la barre d'outils.
QStyle::PM_ToolBarSeparatorExtent56Largeur d'un séparateur de barre d'outils dans une barre d'outils horizontale et hauteur d'un séparateur dans une barre d'outils verticale.
QStyle::PM_ToolBarExtensionExtent57Largeur d'un bouton d'extension de barre d'outils dans une barre d'outils horizontale et hauteur du bouton dans une barre d'outils verticale.
QStyle::PM_TabBarTabOverlap19Nombre de pixels de chevauchement entre les onglets. (Actuellement utilisé uniquement dans les styles, et non à l'intérieur d'QTabBar)
QStyle::PM_TabBarTabHSpace20Espace supplémentaire ajouté à la largeur de l'onglet.
QStyle::PM_TabBarTabVSpace21Espace supplémentaire ajouté à la hauteur de l'onglet.
QStyle::PM_TabBarBaseHeight22Hauteur de la zone située entre la barre d’onglets et les pages d’onglets.
QStyle::PM_TabBarBaseOverlap23Nombre de pixels de chevauchement de la barre d'onglets par rapport à sa base.
QStyle::PM_TabBarScrollButtonWidth51 
QStyle::PM_TabBarTabShiftHorizontal49Décalage horizontal en pixels lorsqu'un onglet est sélectionné.
QStyle::PM_TabBarTabShiftVertical50Décalage vertical en pixels lorsqu’un onglet est sélectionné.
QStyle::PM_ProgressBarChunkWidth24Largeur d'un segment dans un indicateur de progression.
QStyle::PM_SplitterWidth25Largeur d'un séparateur.
QStyle::PM_TitleBarHeight26Hauteur de la barre de titre.
QStyle::PM_IndicatorWidth37Largeur d’un indicateur de case à cocher.
QStyle::PM_IndicatorHeight38Hauteur d'un indicateur de case à cocher.
QStyle::PM_ExclusiveIndicatorWidth39Largeur d’un indicateur de bouton radio.
QStyle::PM_ExclusiveIndicatorHeight40Hauteur d’un indicateur de bouton radio.
QStyle::PM_MenuPanelWidth30Largeur de la bordure (appliquée sur tous les côtés) d’une « QMenu ».
QStyle::PM_MenuHMargin28Bordure supplémentaire (utilisée à gauche et à droite) pour un élément « QMenu ».
QStyle::PM_MenuVMargin29Bordure supplémentaire (utilisée en haut et en bas) pour une « QMenu ».
QStyle::PM_MenuScrollerHeight27Hauteur de la zone de défilement dans une « QMenu ».
QStyle::PM_MenuTearoffHeight31Hauteur de la zone détachable dans une « QMenu ».
QStyle::PM_MenuDesktopFrameWidth32Largeur du cadre du menu sur le bureau.
QStyle::PM_HeaderMarkSize47Taille de l’indicateur de tri dans un en-tête.
QStyle::PM_HeaderGripMargin48Taille de la poignée de redimensionnement dans un en-tête.
QStyle::PM_HeaderMargin46La taille de la marge entre l’indicateur de tri et le texte.
QStyle::PM_SpinBoxSliderHeight58La hauteur du curseur de la zone de sélection rotative (en option).
QStyle::PM_ToolBarIconSize59Taille par défaut des icônes de la barre d'outils
QStyle::PM_SmallIconSize62Taille par défaut des petites icônes
QStyle::PM_LargeIconSize63Taille par défaut des grandes icônes
QStyle::PM_FocusFrameHMargin65Marge horizontale par laquelle le cadre de sélection dépassera du widget.
QStyle::PM_FocusFrameVMargin64Marge verticale par laquelle le cadre de sélection dépasse le widget.
QStyle::PM_IconViewIconSize61Taille par défaut des icônes dans une vue en icônes.
QStyle::PM_ListViewIconSize60Taille par défaut des icônes dans une vue en liste.
QStyle::PM_ToolTipLabelFrameWidth66Largeur du cadre d’une étiquette d’info-bulle.
QStyle::PM_CheckBoxLabelSpacing67L'espacement entre l'indicateur d'une case à cocher et son libellé.
QStyle::PM_RadioButtonLabelSpacing74L'espacement entre l'indicateur d'un bouton radio et son libellé.
QStyle::PM_TabBarIconSize68La taille par défaut des icônes d’une barre d’onglets.
QStyle::PM_SizeGripSize69La taille d’une poignée de redimensionnement.
QStyle::PM_MessageBoxIconSize71La taille des icônes standard dans une boîte de message
QStyle::PM_ButtonIconSize72La taille par défaut des icônes de boutons
QStyle::PM_TextCursorWidth82La largeur du curseur dans un champ de saisie de ligne ou de texte
QStyle::PM_TabBar_ScrollButtonOverlap81La distance entre les boutons gauche et droit d'une barre d'onglets.
QStyle::PM_TabCloseIndicatorWidth83La largeur par défaut d’un bouton de fermeture sur un onglet d’une barre d’onglets.
QStyle::PM_TabCloseIndicatorHeight84La hauteur par défaut d'un bouton de fermeture sur un onglet d'une barre d'onglets.
QStyle::PM_ScrollView_ScrollBarSpacing85Distance entre le cadre et la barre de défilement lorsque l'option « SH_ScrollView_FrameOnlyAroundContents » est activée.
QStyle::PM_ScrollView_ScrollBarOverlap86Chevauchement entre les barres de défilement et le contenu à faire défiler
QStyle::PM_SubMenuOverlap87Le chevauchement horizontal entre un sous-menu et son menu parent.
QStyle::PM_TreeViewIndentation (since Qt 5.4)88L'indentation des éléments dans une arborescence.
QStyle::PM_HeaderDefaultSectionSizeHorizontal89La taille par défaut des sections dans un en-tête horizontal. Cette valeur d'énumération a été introduite dans Qt 5.5.
QStyle::PM_HeaderDefaultSectionSizeVertical90La taille par défaut des sections dans un en-tête vertical. Cette valeur d'énumération a été introduite dans Qt 5.5.
QStyle::PM_TitleBarButtonIconSize (since Qt 5.8)91La taille des icônes de boutons sur une barre de titre.
QStyle::PM_TitleBarButtonSize (since Qt 5.8)92La taille des boutons sur une barre de titre.
QStyle::PM_LineEditIconSize (since Qt 6.2)93La taille par défaut des icônes dans un champ de saisie.
QStyle::PM_LineEditIconMargin (since Qt 6.3)94La marge autour des icônes dans un champ de saisie.
QStyle::PM_CustomBase0xf0000000Valeur de base pour les mesures en pixels personnalisées. Les valeurs personnalisées doivent être supérieures à cette valeur.

Voir également pixelMetric().

enum QStyle::PrimitiveElement

Cette énumération décrit les différents éléments primitifs. Un élément primitif est un élément courant d'une interface graphique, tel qu'un indicateur de case à cocher ou le biseau d'un bouton.

ConstanteValeurDescription
QStyle::PE_PanelButtonCommand13Bouton utilisé pour déclencher une action, par exemple une « QPushButton ».
QStyle::PE_FrameDefaultButton1Cadre entourant un bouton par défaut, par exemple dans une boîte de dialogue.
QStyle::PE_PanelButtonBevel14Panneau générique avec un bouton biseauté.
QStyle::PE_PanelButtonTool15Panneau pour un bouton d'outil, utilisé avec QToolButton.
QStyle::PE_PanelLineEdit18Panneau destiné à un « QLineEdit ».
QStyle::PE_IndicatorButtonDropDown24Indicateur pour un bouton déroulant, par exemple un bouton d’outil qui affiche un menu.
QStyle::PE_FrameFocusRect3Indicateur de focus générique.
QStyle::PE_IndicatorArrowUp22Flèche vers le haut générique.
QStyle::PE_IndicatorArrowDown19Flèche vers le bas générique.
QStyle::PE_IndicatorArrowRight21Flèche droite générique.
QStyle::PE_IndicatorArrowLeft20Flèche gauche générique.
QStyle::PE_IndicatorSpinUp35Symbole « haut » pour un widget de sélection, par exemple un « QSpinBox ».
QStyle::PE_IndicatorSpinDown32Symbole « Bas » pour un widget de sélection.
QStyle::PE_IndicatorSpinPlus34Symbole d’augmentation pour un widget de sélection.
QStyle::PE_IndicatorSpinMinus33Symbole de diminution pour un widget de sélection.
QStyle::PE_IndicatorItemViewItemCheck25Indicateur d’activation/désactivation pour un élément d’affichage.
QStyle::PE_IndicatorCheckBox26Indicateur activé/désactivé, par exemple QCheckBox.
QStyle::PE_IndicatorRadioButton31Indicateur d'activation/désactivation exclusif, par exemple une « QRadioButton ».
QStyle::PE_IndicatorDockWidgetResizeHandle27Poignée de redimensionnement pour les fenêtres ancrées.
QStyle::PE_Frame0Cadre générique
QStyle::PE_FrameMenu6Cadre pour les fenêtres et menus contextuels ; voir également QMenu.
QStyle::PE_PanelMenuBar16Panneau pour les barres de menus.
QStyle::PE_PanelScrollAreaCorner40Panneau situé dans le coin inférieur droit (ou inférieur gauche) d’une zone de défilement.
QStyle::PE_FrameDockWidget2Cadre de panneau pour les fenêtres ancrées et les barres d'outils.
QStyle::PE_FrameTabWidget8Cadre pour les widgets d'onglets.
QStyle::PE_FrameLineEdit5Cadre de panneau pour les champs de saisie en ligne.
QStyle::PE_FrameGroupBox4Cadre de panneau autour des zones de groupe.
QStyle::PE_FrameButtonBevel10Cadre de panneau pour le biseau d’un bouton.
QStyle::PE_FrameButtonTool11Cadre de panneau pour un bouton d'outil.
QStyle::PE_IndicatorHeaderArrow28Flèche utilisée pour indiquer le tri dans l'en-tête d'une liste ou d'un tableau.
QStyle::PE_FrameStatusBarItem7Cadre d'un élément de la barre d'état ; voir également QStatusBar.
QStyle::PE_FrameWindow9Cadre autour d’une fenêtre MDI ou d’une fenêtre ancrable.
QStyle::PE_IndicatorMenuCheckMark29Coche utilisée dans un menu.
QStyle::PE_IndicatorProgressChunk30Section d'un indicateur de progression ; voir également QProgressBar.
QStyle::PE_IndicatorBranch23Lignes utilisées pour représenter les branches d'une arborescence dans une vue arborescente.
QStyle::PE_IndicatorToolBarHandle36La poignée d’une barre d’outils.
QStyle::PE_IndicatorToolBarSeparator37Séparateur dans une barre d'outils.
QStyle::PE_PanelToolBar17Le panneau d'une barre d'outils.
QStyle::PE_PanelTipLabel38Le panneau d’une étiquette d’aide.
QStyle::PE_FrameTabBarBase12Le cadre dessiné pour une barre d'onglets, généralement dessiné pour une barre d'onglets qui ne fait pas partie d'un widget d'onglets.
QStyle::PE_IndicatorTabTear39Obsolète. Utilisez plutôt PE_IndicatorTabTearLeft.
QStyle::PE_IndicatorTabTearLeftPE_IndicatorTabTearIndicateur signalant qu’un onglet est partiellement masqué sur le côté gauche de la barre d’onglets visible lorsqu’il y a de nombreux onglets.
QStyle::PE_IndicatorTabTearRight49Indicateur signalant qu’un onglet est partiellement masqué à droite de la barre d’onglets visible lorsqu’il y a de nombreux onglets.
QStyle::PE_IndicatorColumnViewArrow42Une flèche dans un « QColumnView ».
QStyle::PE_Widget41Un « QWidget » simple.
QStyle::PE_CustomBase0xf000000Valeur de base pour les éléments primitifs personnalisés. Toutes les valeurs supérieures à celle-ci sont réservées à un usage personnalisé. Les valeurs personnalisées doivent être supérieures à cette valeur.
QStyle::PE_IndicatorItemViewItemDrop43Un indicateur affiché pour indiquer l'emplacement où un élément d'une vue d'éléments est sur le point d'être déposé lors d'une opération de glisser-déposer dans cette vue.
QStyle::PE_PanelItemViewItem44L’arrière-plan d’un élément dans une vue d’éléments.
QStyle::PE_PanelItemViewRow45L’arrière-plan d’une ligne dans une vue d’éléments.
QStyle::PE_PanelStatusBar46Le panneau d’une barre d’état.
QStyle::PE_IndicatorTabClose47Le bouton de fermeture d’une barre d’onglets.
QStyle::PE_PanelMenu48Le panneau d’un menu.

Voir aussi drawPrimitive().

enum QStyle::RequestSoftwareInputPanel

Cette énumération décrit dans quelles circonstances un panneau de saisie logiciel sera sollicité par des widgets permettant la saisie.

ConstanteValeurDescription
QStyle::RSIP_OnMouseClickAndAlreadyFocused0Demande l'affichage d'un panneau de saisie si l'utilisateur clique sur le widget, mais uniquement si celui-ci a déjà le focus.
QStyle::RSIP_OnMouseClick1Demande un panneau de saisie si l'utilisateur clique sur le widget.

Voir aussi QInputMethod.

enum QStyle::StandardPixmap

Cette énumération décrit les images standard disponibles. Une image standard est une image qui respecte un style ou des directives existantes en matière d'interface graphique.

ConstanteValeurDescription
QStyle::SP_TitleBarMinButton1Bouton de réduction dans les barres de titre (par exemple, dans QMdiSubWindow).
QStyle::SP_TitleBarMenuButton0Bouton de menu sur une barre de titre.
QStyle::SP_TitleBarMaxButton2Bouton d'agrandissement dans les barres de titre.
QStyle::SP_TitleBarCloseButton3Bouton « Fermer » dans les barres de titre.
QStyle::SP_TitleBarNormalButton4Bouton « Normal » (restaurer) sur les barres de titre.
QStyle::SP_TitleBarShadeButton5Bouton « Ombrer » sur les barres de titre.
QStyle::SP_TitleBarUnshadeButton6Bouton « Démasquer » dans les barres de titre.
QStyle::SP_TitleBarContextHelpButton7Le bouton d'aide contextuelle dans les barres de titre.
QStyle::SP_MessageBoxInformation9L'icône « Information ».
QStyle::SP_MessageBoxWarning10L'icône « Avertissement ».
QStyle::SP_MessageBoxCritical11L'icône « critique ».
QStyle::SP_MessageBoxQuestion12L'icône « question ».
QStyle::SP_DesktopIcon13L'icône « bureau ».
QStyle::SP_TrashIcon14L'icône « corbeille ».
QStyle::SP_ComputerIcon15L'icône « Poste de travail ».
QStyle::SP_DriveFDIcon16L'icône de la disquette.
QStyle::SP_DriveHDIcon17L'icône du disque dur.
QStyle::SP_DriveCDIcon18L'icône « CD ».
QStyle::SP_DriveDVDIcon19L'icône « DVD ».
QStyle::SP_DriveNetIcon20L'icône « Réseau ».
QStyle::SP_DirHomeIcon56L'icône du répertoire personnel.
QStyle::SP_DirOpenIcon21L'icône du répertoire ouvert.
QStyle::SP_DirClosedIcon22L'icône du répertoire fermé.
QStyle::SP_DirIcon38L'icône du répertoire.
QStyle::SP_DirLinkIcon23L'icône du lien vers un répertoire.
QStyle::SP_DirLinkOpenIcon24L'icône du lien vers un répertoire ouvert.
QStyle::SP_FileIcon25L'icône de fichier.
QStyle::SP_FileLinkIcon26L'icône du lien vers un fichier.
QStyle::SP_FileDialogStart29L'icône « Démarrer » dans une boîte de dialogue de fichier.
QStyle::SP_FileDialogEnd30L'icône « Fin » dans une boîte de dialogue de fichiers.
QStyle::SP_FileDialogToParent31L'icône « répertoire parent » dans une boîte de dialogue de fichiers.
QStyle::SP_FileDialogNewFolder32L'icône « Créer un nouveau dossier » dans une boîte de dialogue de fichiers.
QStyle::SP_FileDialogDetailedView33L'icône de vue détaillée dans une boîte de dialogue de fichiers.
QStyle::SP_FileDialogInfoView34L'icône « Informations sur le fichier » dans une boîte de dialogue de fichiers.
QStyle::SP_FileDialogContentsView35L'icône de vue du contenu dans une boîte de dialogue de fichiers.
QStyle::SP_FileDialogListView36L'icône de la vue en liste dans une boîte de dialogue de fichiers.
QStyle::SP_FileDialogBack37La flèche de retour dans une boîte de dialogue de fichiers.
QStyle::SP_DockWidgetCloseButton8Le bouton « Fermer » sur les fenêtres ancrées (voir aussi QDockWidget).
QStyle::SP_ToolBarHorizontalExtensionButton27Le bouton d'extension pour les barres d'outils horizontales.
QStyle::SP_ToolBarVerticalExtensionButton28Bouton d'extension pour les barres d'outils verticales.
QStyle::SP_DialogOkButton39Icône du bouton OK standard dans une boîte de dialogue de type « QDialogButtonBox ».
QStyle::SP_DialogCancelButton40Icône du bouton « Annuler » standard dans une boîte de dialogue « QDialogButtonBox ».
QStyle::SP_DialogHelpButton41Icône représentant un bouton « Aide » standard dans une fenêtre de type « QDialogButtonBox ».
QStyle::SP_DialogOpenButton42Icône du bouton « Ouvrir » standard dans une « QDialogButtonBox ».
QStyle::SP_DialogSaveButton43Icône d’un bouton « Enregistrer » standard dans une application « QDialogButtonBox ».
QStyle::SP_DialogCloseButton44Icône d’un bouton « Fermer » standard dans une application « QDialogButtonBox ».
QStyle::SP_DialogApplyButton45Icône du bouton « Appliquer » standard dans une application « QDialogButtonBox ».
QStyle::SP_DialogResetButton46Icône du bouton « Réinitialiser » standard dans une interface « QDialogButtonBox ».
QStyle::SP_DialogDiscardButton47Icône du bouton « Annuler » standard dans une interface « QDialogButtonBox ».
QStyle::SP_DialogYesButton48Icône d'un bouton « Oui » standard dans une interface « QDialogButtonBox ».
QStyle::SP_DialogNoButton49Icône représentant un bouton « Non » standard dans une interface « QDialogButtonBox ».
QStyle::SP_ArrowUp50Icône représentant une flèche pointant vers le haut.
QStyle::SP_ArrowDown51Icône représentant une flèche pointant vers le bas.
QStyle::SP_ArrowLeft52Icône représentant une flèche pointant vers la gauche.
QStyle::SP_ArrowRight53Icône représentant une flèche pointant vers la droite.
QStyle::SP_ArrowBack54Équivalent à SP_ArrowLeft lorsque la direction de mise en page actuelle est « Qt::LeftToRight » ; sinon, SP_ArrowRight.
QStyle::SP_ArrowForward55Équivaut à SP_ArrowRight lorsque la direction de mise en page actuelle est Qt::LeftToRight, sinon à SP_ArrowLeft.
QStyle::SP_CommandLink57Icône utilisée pour indiquer un glyphe de lien de commande de style Vista.
QStyle::SP_VistaShield58Icône utilisée pour indiquer les invites UAC sous Windows Vista. Elle renvoie une image pixmap nulle ou une icône sur toutes les autres plateformes.
QStyle::SP_BrowserReload59Icône indiquant que la page actuelle doit être rechargée.
QStyle::SP_BrowserStop60Icône indiquant que le chargement de la page doit s'arrêter.
QStyle::SP_MediaPlay61Icône indiquant que la lecture du média doit commencer.
QStyle::SP_MediaStop62Icône indiquant que la lecture du fichier multimédia doit s'arrêter.
QStyle::SP_MediaPause63Icône indiquant que la lecture du fichier multimédia doit être mise en pause.
QStyle::SP_MediaSkipForward64Icône indiquant que le média doit avancer rapidement.
QStyle::SP_MediaSkipBackward65Icône indiquant que la lecture du fichier multimédia doit revenir en arrière.
QStyle::SP_MediaSeekForward66Icône indiquant que le fichier multimédia doit effectuer une recherche rapide vers l'avant.
QStyle::SP_MediaSeekBackward67Icône indiquant que le média doit effectuer une recherche en arrière.
QStyle::SP_MediaVolume68Icône indiquant le réglage du volume.
QStyle::SP_MediaVolumeMuted69Icône indiquant que le son est coupé.
QStyle::SP_LineEditClearButton (since Qt 5.2)70Icône représentant un bouton « Effacer » standard dans une « QLineEdit ».
QStyle::SP_DialogYesToAllButton (since Qt 5.14)71Icône représentant un bouton « Oui à tous » standard dans un « QDialogButtonBox ».
QStyle::SP_DialogNoToAllButton (since Qt 5.14)72Icône représentant un bouton standard « Non à tout » dans une boîte de dialogue « QDialogButtonBox ».
QStyle::SP_DialogSaveAllButton (since Qt 5.14)73Icône représentant un bouton « Enregistrer tout » standard dans une boîte de dialogue « QDialogButtonBox ».
QStyle::SP_DialogAbortButton (since Qt 5.14)74Icône pour un bouton « Abandonner » standard dans une boîte de dialogue « QDialogButtonBox ».
QStyle::SP_DialogRetryButton (since Qt 5.14)75Icône pour un bouton « Retry » standard dans une interface « QDialogButtonBox ».
QStyle::SP_DialogIgnoreButton (since Qt 5.14)76Icône pour un bouton « Ignorer » standard dans une QDialogButtonBox.
QStyle::SP_RestoreDefaultsButton (since Qt 5.14)77Icône pour un bouton « Restaurer les valeurs par défaut » standard dans une QDialogButtonBox.
QStyle::SP_TabCloseButton (since Qt 6.3)78Icône du bouton « Fermer » dans l'onglet d'un « QTabBar ».
QStyle::SP_TabScrollLeftButton (since Qt 6.12)79Icône du bouton de défilement vers la gauche d’un « QTabBar ».
QStyle::SP_TabScrollRightButton (since Qt 6.12)80Icône du bouton de défilement vers la droite d'un « QTabBar ».
QStyle::SP_TabScrollUpButton (since Qt 6.12)81Icône du bouton de défilement vers le haut d’un « QTabBar ».
QStyle::SP_TabScrollDownButton (since Qt 6.12)82Icône du bouton de défilement vers le bas d’un « QTabBar ».
QStyle::SP_CustomBase0xf0000000Valeur de base pour les pixmaps standard personnalisés ; les valeurs personnalisées doivent être supérieures à cette valeur.

Voir aussi standardIcon().

enum QStyle::StateFlag
flags QStyle::State

Cette énumération décrit les indicateurs utilisés lors du tracé des éléments primitifs.

Notez que toutes les primitives n'utilisent pas nécessairement tous ces indicateurs, et que la signification de ces indicateurs peut varier d'un élément à l'autre.

ConstanteValeurDescription
QStyle::State_None0x00000000Indique que le widget n’a pas d’état.
QStyle::State_Active0x00010000Indique que le widget est actif.
QStyle::State_AutoRaise0x00001000Permet d’indiquer si l’apparence « auto-raise » doit être utilisée sur un bouton d’outil.
QStyle::State_Children0x00080000Permet d’indiquer si une branche de la vue d’élément comporte des éléments enfants.
QStyle::State_DownArrow0x00000040Utilisé pour indiquer si une flèche vers le bas doit être visible sur le widget.
QStyle::State_Editing0x00400000Obsolète. N'est plus utilisé, car l'éditeur s'affiche par-dessus la cellule de la vue d'élément.
QStyle::State_Enabled0x00000001Utilisé pour indiquer si le widget est activé.
QStyle::State_HasFocus0x00000100Permet d'indiquer si le widget a le focus.
QStyle::State_Horizontal0x00000080Utilisé pour indiquer si le widget est disposé horizontalement, par exemple une barre d'outils.
QStyle::State_KeyboardFocusChange0x00800000Permet d’indiquer si le focus a été modifié à l’aide du clavier, par exemple avec la touche Tab, Backtab ou un raccourci.
QStyle::State_MouseOver0x00002000Utilisé pour indiquer si le widget se trouve sous le curseur de la souris.
QStyle::State_NoChange0x00000010Utilisé pour indiquer une case à cocher à trois états.
QStyle::State_Off0x00000008Utilisé pour indiquer si le widget n'est pas coché.
QStyle::State_On0x00000020Utilisé pour indiquer si le widget est coché.
QStyle::State_Raised0x00000002Utilisé pour indiquer si un bouton est en relief.
QStyle::State_ReadOnly0x02000000Utilisé pour indiquer si un widget est en lecture seule.
QStyle::State_Selected0x00008000Utilisé pour indiquer si un widget est sélectionné.
QStyle::State_Item0x00100000Utilisé par les vues d'éléments pour indiquer si une branche horizontale doit être dessinée.
QStyle::State_Open0x00040000Utilisé par les vues d'éléments pour indiquer si la branche de l'arborescence est ouverte.
QStyle::State_Sibling0x00200000Utilisé par les vues d'éléments pour indiquer si une ligne verticale doit être dessinée (pour les éléments frères).
QStyle::State_Sunken0x00000004Utilisé pour indiquer si le widget est enfoncé ou appuyé.
QStyle::State_UpArrow0x00004000Utilisé pour indiquer si une flèche vers le haut doit être visible sur le widget.
QStyle::State_Mini0x08000000Utilisé pour indiquer un widget ou un bouton de style « mini » Mac.
QStyle::State_Small0x04000000Utilisé pour indiquer un widget ou un bouton Mac de style « petit ».

Le type State est un typedef pour QFlags<StateFlag>. Il stocke une combinaison OR de valeurs StateFlag.

Voir également drawPrimitive().

enum QStyle::StyleHint

Cette énumération décrit les conseils de style disponibles. Un conseil de style est une indication générale concernant l'aspect et/ou la présentation.

ConstanteValeurDescription
QStyle::SH_EtchDisabledText0Le texte désactivé est « gravé » comme sous Windows.
QStyle::SH_DitherDisabledText1Le texte désactivé est tramé, comme sous Motif.
QStyle::SH_ScrollBar_ContextMenu62Indique si une barre de défilement dispose ou non d’un menu contextuel.
QStyle::SH_ScrollBar_MiddleClickAbsolutePosition2Une valeur booléenne. Si la valeur est vraie, un clic avec le bouton central sur une barre de défilement fait passer le curseur à cette position. Si la valeur est fausse, le clic avec le bouton central est ignoré.
QStyle::SH_ScrollBar_LeftClickAbsolutePosition39Une valeur booléenne. Si la valeur est vraie, un clic gauche sur une barre de défilement fait passer le curseur à cette position. Si la valeur est fausse, le clic gauche se comporte selon les règles propres à chaque contrôle.
QStyle::SH_ScrollBar_ScrollWhenPointerLeavesControl3Une valeur booléenne. Si true, lorsque l’on clique sur un bouton de barre de défilement ( SubControl), que l’on maintient le bouton de la souris enfoncé et que l’on déplace le pointeur hors de la zone de défilement ( SubControl), la barre de défilement continue de défiler. Si false, la barre de défilement cesse de défiler lorsque le pointeur quitte la zone de défilement ( SubControl).
QStyle::SH_ScrollBar_RollBetweenButtons63Une valeur booléenne. Si la valeur est « true », lorsque l’on clique sur un bouton de la barre de défilement (SC_ScrollBarAddLine ou SC_ScrollBarSubLine) et que l’on fait glisser le pointeur vers le bouton opposé (roulement), le nouveau bouton est actionné et l’ancien est relâché. Si la valeur est « false », le bouton d’origine est relâché et rien ne se passe (comme pour un bouton-poussoir).
QStyle::SH_TabBar_Alignment5L'alignement des onglets dans un QTabWidget. Les valeurs possibles sont Qt::AlignLeft, Qt::AlignCenter et Qt::AlignRight.
QStyle::SH_Header_ArrowAlignment6L'emplacement de l'indicateur de tri peut apparaître dans les en-têtes de liste ou de tableau. Les valeurs possibles sont les valeurs de Qt::Alignment (c'est-à-dire une combinaison « OU » des indicateurs de Qt::AlignmentFlag ).
QStyle::SH_Slider_SnapToValue7Les curseurs s'alignent sur les valeurs lorsqu'on les déplace, comme sous Windows.
QStyle::SH_Slider_SloppyKeyEvents8Les pressions sur les touches sont gérées de manière approximative : par exemple, une pression à gauche sur un curseur vertical soustrait une ligne.
QStyle::SH_ProgressDialog_CenterCancelButton9Alignement au centre pour les boutons des boîtes de dialogue de progression, alignement à droite dans les autres cas.
QStyle::SH_ProgressDialog_TextLabelAlignment10Alignement des libellés dans les boîtes de dialogue de progression : « Qt::AlignCenter » sous Windows, « Qt::AlignVCenter » dans les autres cas.
QStyle::SH_PrintDialog_RightAlignButtons11Alignement à droite des boutons dans la boîte de dialogue d’impression, comme sous Windows.
QStyle::SH_MainWindow_SpaceBelowMenuBar12Espace d’un ou deux pixels entre la barre de menus et la zone d’ancrage, comme sous Windows.
QStyle::SH_FontDialog_SelectAssociatedText13Sélection du texte dans le champ de saisie, lors de la sélection d’un élément dans la liste déroulante ou lorsque le champ de saisie reçoit le focus, comme sous Windows.
QStyle::SH_Menu_KeyboardSearch66La saisie déclenche une recherche d’éléments pertinents dans le menu ; sinon, seul le mnémonique est pris en compte.
QStyle::SH_Menu_AllowActiveAndDisabled14Permet d’activer les éléments de menu désactivés.
QStyle::SH_Menu_SpaceActivatesItem15Appuyer sur la barre d'espace active l'élément, comme sous Motif.
QStyle::SH_Menu_SubMenuPopupDelay16Nombre de millisecondes à attendre avant l'ouverture d'un sous-menu (256 sous Windows, 96 sous Motif).
QStyle::SH_Menu_Scrollable30Indique si les menus contextuels doivent prendre en charge le défilement.
QStyle::SH_Menu_SloppySubMenus33Si les menus contextuels doivent permettre à l’utilisateur de déplacer le curseur de la souris vers un sous-menu tout en passant par d’autres éléments du menu. Cette fonctionnalité est prise en charge sur la plupart des plateformes de bureau modernes.
QStyle::SH_Menu_SubMenuUniDirection105Depuis Qt 5.5. Si le curseur doit se déplacer vers le sous-menu (comme c'est le cas sous macOS), ou s'il peut se déplacer dans n'importe quelle direction tant qu'il atteint le sous-menu avant l'expiration du délai de tolérance.
QStyle::SH_Menu_SubMenuUniDirectionFailCount106Depuis Qt 5.5. Lorsque SH_Menu_SubMenuUniDirection est défini, cette énumération spécifie le nombre de mouvements de souris infructueux avant que le sous-menu « sloppy » ne soit écarté. Cela permet de contrôler la « rigueur » de l’algorithme unidirectionnel.
QStyle::SH_Menu_SubMenuSloppySelectOtherActions107Depuis Qt 5.5. Indique si d’autres éléments d’action doivent être sélectionnés lorsque la souris se déplace vers un sous-menu « sloppy ».
QStyle::SH_Menu_SubMenuSloppyCloseTimeout108Depuis Qt 5.5. Le délai d’expiration utilisé pour fermer les sous-menus « sloppy ».
QStyle::SH_Menu_SubMenuResetWhenReenteringParent109Depuis Qt 5.5. Lors du passage d’un sous-menu enfant vers son sous-menu parent, l’état « sloppy » doit-il être réinitialisé, ce qui ferme effectivement le sous-menu enfant et rend le sous-menu actuel actif ?
QStyle::SH_Menu_SubMenuDontStartSloppyOnLeave110Depuis Qt 5.5. Ne pas démarrer les temporisateurs « sloppy » lorsque la souris quitte un sous-menu.
QStyle::SH_ScrollView_FrameOnlyAroundContents17Les vues de défilement doivent-elles afficher leur cadre uniquement autour du contenu (comme dans Motif), ou autour du contenu, des barres de défilement et des widgets d’angle (comme sous Windows) ?
QStyle::SH_MenuBar_AltKeyNavigation18La navigation parmi les éléments des barres de menu s’effectue en appuyant sur la touche Alt, puis en utilisant les touches fléchées pour sélectionner l’élément souhaité.
QStyle::SH_ComboBox_ListMouseTracking_CurrentSH_ComboBox_ListMouseTrackingSuivi de la souris dans les listes déroulantes des listes combinées : l’élément situé sous le curseur devient l’élément actif (QStyle::State_Selected).
QStyle::SH_ComboBox_ListMouseTracking19Obsolète. Utilisez plutôt SH_ComboBox_ListMouseTracking_Current.
QStyle::SH_ComboBox_ListMouseTracking_Active120Suivi de la souris dans les listes déroulantes des listes combinées : l’élément situé sous le curseur n’est pas défini comme élément actuel, mais seulement comme élément actif (QStyle::State_MouseOver).
QStyle::SH_Menu_MouseTracking20Suivi de la souris dans les menus contextuels.
QStyle::SH_MenuBar_MouseTracking21Suivi de la souris dans les barres de menus.
QStyle::SH_Menu_FillScreenWithScroll45Détermine si les menus contextuels défilants doivent occuper tout l’écran au fur et à mesure qu’on les fait défiler.
QStyle::SH_Menu_SelectionWrap73Si les fenêtres contextuelles doivent autoriser le retour à la ligne dans les sélections, c'est-à-dire si, lors d'une sélection, l'élément suivant doit devenir le premier élément.
QStyle::SH_ItemView_ChangeHighlightOnFocus22Griser les éléments sélectionnés lorsqu’ils perdent le focus.
QStyle::SH_Widget_ShareActivation23Activer le partage de l'activation avec les boîtes de dialogue flottantes non modales.
QStyle::SH_TabBar_SelectMouseType4Quel type d’événement de souris doit entraîner la sélection d’un onglet ?
QStyle::SH_ListViewExpand_SelectMouseType40Quel type d'événement de souris doit entraîner la sélection de l'expansion d'une vue de liste ?
QStyle::SH_TabBar_PreferNoArrows38Une barre d’onglets doit-elle suggérer une taille pour éviter l’affichage des flèches de défilement ?
QStyle::SH_ComboBox_Popup25Autorise les fenêtres contextuelles sous forme de menu déroulant de liste déroulante.
QStyle::SH_Workspace_FillSpaceOnMaximize24L'espace de travail doit agrandir au maximum la zone client.
QStyle::SH_TitleBar_NoBorder26La barre de titre n'a pas de bordure.
QStyle::SH_Slider_StopMouseOverSlider27Désactive la répétition automatique lorsque le curseur atteint la position de la souris.
QStyle::SH_BlinkCursorWhenTextSelected28Le curseur doit-il clignoter lorsque du texte est sélectionné ?
QStyle::SH_RichText_FullWidthSelection29Détermine si les sélections de texte enrichi doivent s'étendre sur toute la largeur du document.
QStyle::SH_GroupBox_TextLabelVerticalAlignment31Comment aligner verticalement le libellé d’une zone de groupe.
QStyle::SH_GroupBox_TextLabelColor32Comment dessiner le libellé d'une zone de groupe.
QStyle::SH_DialogButtons_DefaultButton36Quel bouton obtient l'état par défaut dans le widget de boutons d'une boîte de dialogue.
QStyle::SH_ToolBox_SelectedPageTitleBold37Le gras du titre de la page sélectionnée dans une « QToolBox ».
QStyle::SH_LineEdit_PasswordCharacter35Le caractère Unicode à utiliser pour les mots de passe.
QStyle::SH_LineEdit_PasswordMaskDelay103Détermine le délai, en millisecondes, avant que le caractère visible ne soit masqué par un caractère de mot de passe. Cette valeur d'énumération a été ajoutée dans Qt 5.4.
QStyle::SH_Table_GridLineColor34La valeur RGBA de la grille d'un tableau.
QStyle::SH_UnderlineShortcut41Indique si les raccourcis sont soulignés.
QStyle::SH_SpinBox_AnimateButton42Anime un clic lorsque l'on appuie sur la touche « haut » ou « bas » dans une zone de sélection.
QStyle::SH_SpinBox_KeyPressAutoRepeatRate43Intervalle de répétition automatique des pressions de touche dans une zone de sélection.
QStyle::SH_SpinBox_ClickAutoRepeatRate44Intervalle de répétition automatique des clics de souris dans une zone de sélection.
QStyle::SH_SpinBox_ClickAutoRepeatThreshold83Seuil de répétition automatique pour les clics de souris dans la zone de sélection.
QStyle::SH_SpinBox_SelectOnStep (since Qt 6.3)119Si la modification de la valeur à l'aide des boutons ou des touches haut/bas sélectionne automatiquement le texte.
QStyle::SH_ToolTipLabel_Opacity46Nombre entier indiquant l’opacité de l’étiquette d’aide ; 0 correspond à une transparence totale, 255 à une opacité totale.
QStyle::SH_DrawMenuBarSeparator47Indique si la barre de menu affiche ou non des séparateurs.
QStyle::SH_TitleBar_ModifyNotification48Indique si la barre de titre doit afficher un « * » pour les fenêtres qui ont été modifiées.
QStyle::SH_Button_FocusPolicy49Politique de focus par défaut pour les boutons.
QStyle::SH_CustomBase0xf0000000Valeur de base pour les info-bulles de style personnalisé. Les valeurs personnalisées doivent être supérieures à cette valeur.
QStyle::SH_MessageBox_UseBorderForButtonSpacing50Un booléen indiquant s’il faut utiliser la bordure des boutons (calculée comme la moitié de la hauteur du bouton) pour l’espacement du bouton dans une boîte de dialogue.
QStyle::SH_MessageBox_CenterButtons72Un booléen indiquant si les boutons de la boîte de dialogue doivent être centrés ou non (voir QDialogButtonBox::setCentered()).
QStyle::SH_MessageBox_TextInteractionFlags70Un booléen indiquant si le texte d’une boîte de dialogue doit autoriser les interactions de l’utilisateur (par exemple, la sélection) ou non.
QStyle::SH_TitleBar_AutoRaise51Un booléen indiquant si les contrôles d’une barre de titre doivent s’actualiser lorsque la souris passe dessus.
QStyle::SH_ToolButton_PopupDelay52Un entier indiquant le délai d'affichage, en millisecondes, des menus contextuels associés aux boutons d'outils.
QStyle::SH_FocusFrame_Mask53Le masque du cadre de focus.
QStyle::SH_RubberBand_Mask54Le masque de l'élastique.
QStyle::SH_WindowFrame_Mask55Le masque du cadre de la fenêtre.
QStyle::SH_SpinControls_DisableOnBounds56Détermine si les contrôles de sélection s'affichent comme désactivés lorsqu'ils atteignent la limite de la plage de sélection.
QStyle::SH_Dial_BackgroundRole57Définit le rôle d’arrière-plan préféré du style (tel que QPalette::ColorRole) pour un widget « dial ».
QStyle::SH_ComboBox_LayoutDirection58Le sens de mise en page de la liste déroulante. Par défaut, il doit correspondre à celui indiqué par la variable QStyleOption::direction.
QStyle::SH_ItemView_EllipsisLocation59Emplacement où des points de suspension doivent être ajoutés pour le texte d’un élément trop long pour tenir dans un élément de vue.
QStyle::SH_ItemView_ShowDecorationSelected60Lorsqu’un élément d’une vue d’éléments est sélectionné, met également en surbrillance la branche ou toute autre décoration.
QStyle::SH_ItemView_ActivateItemOnSingleClick61Émettre le signal « activated » lorsque l’utilisateur clique une fois sur un élément d’une vue d’éléments. Sinon, le signal est émis lorsque l’utilisateur double-clique sur un élément.
QStyle::SH_Slider_AbsoluteSetButtons64Quels boutons de souris permettent à un curseur de régler la valeur à la position sur laquelle on a cliqué.
QStyle::SH_Slider_PageSetButtons65Quels boutons de souris déclenchent un déplacement par incréments de la valeur d’un curseur.
QStyle::SH_TabBar_ElideMode67Le style d’élidation par défaut pour une barre d’onglets.
QStyle::SH_DialogButtonLayout68Contrôle la disposition des boutons dans une « QDialogButtonBox » ; renvoie une énumération « QDialogButtonBox::ButtonLayout ».
QStyle::SH_WizardStyle78Contrôle l’apparence d’une barre d’onglets ( QWizard). Renvoie une énumération de type « QWizard::WizardStyle ».
QStyle::SH_FormLayoutWrapPolicy85Fournit une valeur par défaut pour le retour à la ligne des lignes dans une « QFormLayout ». Renvoie une énumération « QFormLayout::RowWrapPolicy ».
QStyle::SH_FormLayoutFieldGrowthPolicy88Définit une valeur par défaut pour la manière dont les champs peuvent s'étendre dans une ` QFormLayout`. Renvoie une énumération de type ` QFormLayout::FieldGrowthPolicy `.
QStyle::SH_FormLayoutFormAlignment89Définit une valeur par défaut pour l’alignement du contenu d’un « QFormLayout » dans l’espace disponible. Renvoie une énumération de type « Qt::Alignment ».
QStyle::SH_FormLayoutLabelAlignment90Définit une valeur par défaut pour l'alignement des étiquettes au sein de l'espace disponible dans une « QFormLayout ». Renvoie une énumération de type « Qt::Alignment ».
QStyle::SH_ItemView_ArrowKeysNavigateIntoChildren79Détermine si l’arborescence sélectionne le premier élément enfant lorsqu’elle est développée et que la touche fléchée droite est enfoncée.
QStyle::SH_ComboBox_PopupFrameStyle69Style de cadre utilisé lors du tracé du menu contextuel d’une liste déroulante.
QStyle::SH_DialogButtonBox_ButtonsHaveIcons71Indique si les boutons StandardButtons de l’ QDialogButtonBox doivent comporter des icônes ou non.
QStyle::SH_ItemView_MovementWithoutUpdatingSelection74La vue d’élément peut indiquer l’élément actif sans modifier la sélection.
QStyle::SH_ToolTip_Mask75Le masque d’une info-bulle.
QStyle::SH_FocusFrame_AboveWidget76Le FocusFrame est superposé au widget sur lequel il est « focalisé ».
QStyle::SH_TextControl_FocusIndicatorTextCharFormat77Spécifie le format de texte utilisé pour mettre en surbrillance les ancres actives dans les documents de texte enrichi affichés, par exemple, dans QTextBrowser. Le format doit être une chaîne de caractères ( QTextCharFormat ) renvoyée dans la variante de la valeur de retour de la fonction QStyleHintReturnVariant. La propriété QTextFormat::OutlinePen est utilisée pour le contour et QTextFormat::BackgroundBrush pour l’arrière-plan de la zone mise en surbrillance.
QStyle::SH_Menu_FlashTriggeredItem81Élément déclenché par un effet Flash.
QStyle::SH_Menu_FadeOutOnHide82Faire disparaître le menu progressivement au lieu de le masquer immédiatement.
QStyle::SH_TabWidget_DefaultTabPosition86Position par défaut de la barre d’onglets dans un widget d’onglets.
QStyle::SH_ToolBar_Movable87Détermine si la barre d’outils est déplaçable par défaut.
QStyle::SH_ItemView_PaintAlternatingRowColorsForEmptyArea84Indique si l'QTreeView e des couleurs de lignes alternées pour la zone ne contenant aucun élément.
QStyle::SH_Menu_Mask80Le masque d’un menu contextuel.
QStyle::SH_ItemView_DrawDelegateFrame91Détermine s’il doit y avoir un cadre pour un widget délégué.
QStyle::SH_TabBar_CloseButtonPosition92Détermine la position du bouton de fermeture sur un onglet dans une barre d'onglets.
QStyle::SH_DockWidget_ButtonsHaveFrame93Détermine si les boutons du widget d'ancrage doivent comporter des cadres. La valeur par défaut est « true ».
QStyle::SH_ToolButtonStyle94Détermine le style système par défaut des boutons d'outils utilisant ` Qt::ToolButtonFollowStyle`.
QStyle::SH_RequestSoftwareInputPanel95Détermine quand un panneau de saisie logiciel doit être demandé par les widgets de saisie. Renvoie une énumération de type ` QStyle::RequestSoftwareInputPanel`.
QStyle::SH_ScrollBar_Transient96Détermine si le style prend en charge les barres de défilement temporaires. Les barres de défilement temporaires apparaissent lorsque le contenu défile et disparaissent lorsqu’elles ne sont plus nécessaires.
QStyle::SH_Menu_SupportsSections97Détermine si le style affiche des sections dans les menus ou les traite comme de simples séparateurs. Les sections sont des séparateurs accompagnés d’une info-bulle sous forme de texte et d’icône.
QStyle::SH_ToolTip_WakeUpDelay98Détermine le délai, en millisecondes, avant l’affichage d’une info-bulle.
QStyle::SH_ToolTip_FallAsleepDelay99Détermine le délai (en millisecondes) avant qu’un nouveau réveil ne soit nécessaire lorsqu’une info-bulle est affichée (remarque : affichée, et non masquée). Lorsqu’un nouveau réveil n’est pas nécessaire, une info-bulle demandée par l’utilisateur s’affichera presque instantanément.
QStyle::SH_Widget_Animate100Obsolète. Utilisez plutôt SH_Widget_Animation_Duration.
QStyle::SH_Splitter_OpaqueResize101Détermine si les widgets sont redimensionnés dynamiquement (de manière opaque) lors du déplacement interactif de la barre de séparation. Cette valeur d'énumération a été introduite dans Qt 5.2.
QStyle::SH_TabBar_ChangeCurrentDelay104Détermine le délai, en millisecondes, avant que l'onglet actuel ne soit modifié lors du glissement sur la barre d'onglets. Cette valeur d'énumération a été introduite dans Qt 5.4
QStyle::SH_ItemView_ScrollMode111Mode de défilement vertical et horizontal par défaut, tel que spécifié par le style. Peut être redéfini à l'aide de QAbstractItemView::setVerticalScrollMode() et QAbstractItemView::setHorizontalScrollMode(). Cette valeur d'énumération a été introduite dans Qt 5.7.
QStyle::SH_TitleBar_ShowToolTipsOnButtons112Détermine si des infobulles s’affichent sur les boutons de la barre de titre de la fenêtre. Le style Mac, par exemple, définit cette valeur sur false. Cette valeur d’énumération a été introduite dans Qt 5.10.
QStyle::SH_Widget_Animation_Duration113Détermine la durée d’une animation (en ms). Une valeur égale à zéro signifie que les animations seront désactivées. Cette valeur d’énumération a été introduite dans Qt 5.10.
QStyle::SH_ComboBox_AllowWheelScrolling114Détermine si la molette de la souris peut être utilisée pour faire défiler le contenu d’une zone de saisie de texte ( QComboBox). Cette option est activée par défaut dans tous les styles, à l’exception du style Mac. Cette valeur d’énumération a été introduite dans Qt 5.10.
QStyle::SH_SpinBox_ButtonsInsideFrame115Détermine si les boutons de la zone de sélection sont situés à l'intérieur du cadre de la zone de saisie. Cette valeur d'énumération a été introduite dans Qt 5.11.
QStyle::SH_SpinBox_StepModifier116Détermine quelle « Qt::KeyboardModifier » augmente la fréquence de défilement de « QAbstractSpinBox ». Les valeurs possibles sont « Qt::NoModifier », « Qt::ControlModifier » (par défaut) ou « Qt::ShiftModifier ». « Qt::NoModifier » désactive cette fonctionnalité. Cette valeur d'énumération a été introduite dans Qt 5.12.
QStyle::SH_TabBar_AllowWheelScrolling117Détermine si la molette de la souris peut être utilisée pour parcourir les onglets d’un « QTabBar ». Cette valeur d’énumération a été introduite dans Qt 6.1.
QStyle::SH_Table_AlwaysDrawLeftTopGridLines118Détermine si les lignes de grille situées à l'extrême gauche et en haut d'un tableau sont affichées ou non lorsque l'en-tête est masqué. La valeur par défaut est false. Cette valeur d'énumération a été introduite dans Qt 6.3.

Voir également styleHint().

enum QStyle::SubControl
flags QStyle::SubControls

Cette énumération décrit les sous-contrôles disponibles. Un sous-contrôle est un élément de contrôle intégré à un contrôle complexe (ComplexControl).

ConstanteValeurDescription
QStyle::SC_None0x00000000Valeur spéciale qui ne correspond à aucun autre sous-contrôle.
QStyle::SC_ScrollBarAddLine0x00000001Ligne d'ajout de la barre de défilement (c'est-à-dire flèche vers le bas/vers la droite) ; voir également QScrollBar.
QStyle::SC_ScrollBarSubLine0x00000002Sous-ligne de la barre de défilement (c'est-à-dire flèche vers le haut/vers la gauche).
QStyle::SC_ScrollBarAddPage0x00000004Ajout de page dans la barre de défilement (c'est-à-dire « Page suivante »).
QStyle::SC_ScrollBarSubPage0x00000008Sous-page de la barre de défilement (c'est-à-dire « Page précédente »).
QStyle::SC_ScrollBarFirst0x00000010Première ligne de la barre de défilement (c'est-à-dire « Accueil »).
QStyle::SC_ScrollBarLast0x00000020Dernière ligne de la barre de défilement (c'est-à-dire « Fin »).
QStyle::SC_ScrollBarSlider0x00000040Poignée de la barre de défilement.
QStyle::SC_ScrollBarGroove0x00000080Sous-contrôle spécial contenant la zone dans laquelle la poignée du curseur peut se déplacer.
QStyle::SC_SpinBoxUp0x00000001Widget de rotation vers le haut/augmentation ; voir également QSpinBox.
QStyle::SC_SpinBoxDown0x00000002Widget de sélection : vers le bas/diminution.
QStyle::SC_SpinBoxFrame0x00000004Cadre du widget de sélection.
QStyle::SC_SpinBoxEditField0x00000008Champ d'édition du widget « Spin ».
QStyle::SC_ComboBoxEditField0x00000002Champ d'édition de la liste déroulante ; voir aussi QComboBox.
QStyle::SC_ComboBoxArrow0x00000004Bouton fléché de la liste déroulante.
QStyle::SC_ComboBoxFrame0x00000001Cadre de la liste déroulante.
QStyle::SC_ComboBoxListBoxPopup0x00000008Rectangle de référence pour la fenêtre contextuelle de la liste déroulante. Utilisé pour calculer la position de la fenêtre contextuelle.
QStyle::SC_SliderGroove0x00000001Sous-contrôle spécial contenant la zone dans laquelle la poignée du curseur peut se déplacer.
QStyle::SC_SliderHandle0x00000002Curseur.
QStyle::SC_SliderTickmarks0x00000004Grilles de curseur.
QStyle::SC_ToolButton0x00000001Bouton d'outil (voir aussi QToolButton).
QStyle::SC_ToolButtonMenu0x00000002Sous-contrôle permettant d'ouvrir un menu contextuel à partir d'un bouton d'outil.
QStyle::SC_TitleBarSysMenu0x00000001Bouton de menu système (c'est-à-dire « Restaurer », « Fermer », etc.).
QStyle::SC_TitleBarMinButton0x00000002Bouton de réduction.
QStyle::SC_TitleBarMaxButton0x00000004Bouton d'agrandissement.
QStyle::SC_TitleBarCloseButton0x00000008Bouton de fermeture.
QStyle::SC_TitleBarLabel0x00000100Libellé du titre de la fenêtre.
QStyle::SC_TitleBarNormalButton0x00000010Bouton « Normal » (restaurer).
QStyle::SC_TitleBarShadeButton0x00000020Bouton « Masquer ».
QStyle::SC_TitleBarUnshadeButton0x00000040Bouton « Afficher ».
QStyle::SC_TitleBarContextHelpButton0x00000080Bouton d'aide contextuelle.
QStyle::SC_DialHandle0x00000002La poignée du cadran (c'est-à-dire ce que vous utilisez pour contrôler le cadran).
QStyle::SC_DialGroove0x00000001La rainure du cadran.
QStyle::SC_DialTickmarks0x00000004Les repères du cadran.
QStyle::SC_GroupBoxFrame0x00000008Le cadre d’une zone de groupe.
QStyle::SC_GroupBoxLabel0x00000002Le titre d’une zone de groupe.
QStyle::SC_GroupBoxCheckBox0x00000001La case à cocher facultative d'une zone de groupe.
QStyle::SC_GroupBoxContents0x00000004Le contenu d'un cadre de groupe.
QStyle::SC_MdiNormalButton0x00000002Le bouton normal d'une sous-fenêtre MDI dans la barre de menus.
QStyle::SC_MdiMinButton0x00000001Le bouton de réduction d'une sous-fenêtre MDI dans la barre de menus.
QStyle::SC_MdiCloseButton0x00000004Le bouton de fermeture d'une sous-fenêtre MDI dans la barre de menus.
QStyle::SC_All0xffffffffValeur spéciale correspondant à tous les sous-contrôles.

Le type `SubControls` est une définition de type pour ` QFlags<SubControl>`. Il stocke une combinaison OR de valeurs `SubControl`.

Voir également ComplexControl.

enum QStyle::SubElement

Cette énumération représente une sous-zone d'un widget. Les implémentations de style utilisent ces zones pour dessiner les différentes parties d'un widget.

ConstanteValeurDescription
QStyle::SE_PushButtonContents0Zone contenant l'étiquette (icône avec texte ou image).
QStyle::SE_PushButtonFocusRect1Zone réservée au rectangle de focus (généralement plus grand que le rectangle de contenu).
QStyle::SE_PushButtonLayoutItem37Zone prise en compte pour la mise en page parente.
QStyle::SE_PushButtonBevel (since Qt 5.15)56Zone utilisée pour le biseau du bouton.
QStyle::SE_CheckBoxIndicator2Zone réservée à l'indicateur d'état (par exemple, une coche).
QStyle::SE_CheckBoxContents3Zone réservée à l'étiquette (texte ou image bitmap).
QStyle::SE_CheckBoxFocusRect4Zone réservée à l’indicateur de focus.
QStyle::SE_CheckBoxClickRect5Zone cliquable, par défaut SE_CheckBoxFocusRect.
QStyle::SE_CheckBoxLayoutItem32Zone prise en compte pour la disposition parente.
QStyle::SE_DateTimeEditLayoutItem34Zone prise en compte pour la mise en page parente.
QStyle::SE_RadioButtonIndicator6Zone réservée à l’indicateur d’état.
QStyle::SE_RadioButtonContents7Zone réservée à l'étiquette.
QStyle::SE_RadioButtonFocusRect8Zone destinée à l’indicateur de focus.
QStyle::SE_RadioButtonClickRect9Zone cliquable, dont la valeur par défaut est SE_RadioButtonFocusRect.
QStyle::SE_RadioButtonLayoutItem38Zone prise en compte pour la disposition parent.
QStyle::SE_ComboBoxFocusRect10Zone réservée à l'indicateur de focus.
QStyle::SE_SliderFocusRect11Zone réservée à l'indicateur de focus.
QStyle::SE_SliderLayoutItem39Zone prise en compte pour la mise en page parente.
QStyle::SE_SpinBoxLayoutItem40Zone prise en compte pour la mise en page parente.
QStyle::SE_ProgressBarGroove12Zone réservée à la rainure.
QStyle::SE_ProgressBarContents13Zone réservée à l'indicateur de progression.
QStyle::SE_ProgressBarLabel14Zone réservée à l'étiquette de texte.
QStyle::SE_ProgressBarLayoutItem36Zone prise en compte pour la mise en page parente.
QStyle::SE_FrameContents27Zone réservée au contenu d’un cadre.
QStyle::SE_ShapedFrameContents51Zone réservée au contenu d’un cadre utilisant la forme d’ QStyleOptionFrame; voir QFrame
QStyle::SE_FrameLayoutItem42Zone prise en compte pour la mise en page parente.
QStyle::SE_HeaderArrow17Zone réservée à l’indicateur de tri d’un en-tête.
QStyle::SE_HeaderLabel16Zone réservée à l'étiquette d'un en-tête.
QStyle::SE_LabelLayoutItem35Zone prise en compte pour la mise en page parente.
QStyle::SE_LineEditContents26Zone réservée au contenu d’un champ de saisie de ligne.
QStyle::SE_TabWidgetLeftCorner21Zone destinée au widget du coin gauche dans un widget d'onglet.
QStyle::SE_TabWidgetRightCorner22Zone réservée au widget de coin droit dans un widget d'onglets.
QStyle::SE_TabWidgetTabBar18Zone réservée au widget de barre d’onglets dans un widget d’onglets.
QStyle::SE_TabWidgetTabContents20Zone réservée au contenu du widget d'onglets.
QStyle::SE_TabWidgetTabPane19Zone réservée au volet d’un widget d’onglets.
QStyle::SE_TabWidgetLayoutItem44Zone prise en compte pour la mise en page parente.
QStyle::SE_ToolBoxTabContents15Zone réservée à l’icône et au libellé d’un onglet de la boîte à outils.
QStyle::SE_ToolButtonLayoutItem41Zone prise en compte pour la mise en page parente.
QStyle::SE_ItemViewItemCheckIndicator23Zone réservée à la coche d’un élément de vue.
QStyle::SE_TabBarTearIndicator24Obsolète. Utilisez plutôt SE_TabBarTearIndicatorLeft.
QStyle::SE_TabBarTearIndicatorLeftSE_TabBarTearIndicatorZone destinée à l'indicateur de déchirement situé à gauche d'une barre d'onglets comportant des flèches de défilement.
QStyle::SE_TabBarTearIndicatorRight55Zone réservée à l'indicateur de déchirement situé à droite d'une barre d'onglets comportant des flèches de défilement.
QStyle::SE_TabBarScrollLeftButton53Zone réservée au bouton de défilement vers la gauche sur une barre d'onglets comportant des boutons de défilement.
QStyle::SE_TabBarScrollRightButton54Zone réservée au bouton de défilement vers la droite sur une barre d'onglets dotée de boutons de défilement.
QStyle::SE_TreeViewDisclosureItem25Zone réservée à l'élément de développement proprement dit dans une branche d'arborescence.
QStyle::SE_GroupBoxLayoutItem43Zone prise en compte pour la mise en page parente.
QStyle::SE_CustomBase0xf0000000Valeur de base pour les sous-éléments personnalisés. Les valeurs personnalisées doivent être supérieures à cette valeur.
QStyle::SE_DockWidgetFloatButton29Le bouton flottant d’un widget d’ancrage.
QStyle::SE_DockWidgetTitleBarText30Limites de texte du titre des widgets d'ancrage.
QStyle::SE_DockWidgetCloseButton28Le bouton de fermeture d’un widget d’amarrage.
QStyle::SE_DockWidgetIcon31L'icône d'un widget d'ancrage.
QStyle::SE_ComboBoxLayoutItem33Zone prise en compte pour la mise en page parent.
QStyle::SE_ItemViewItemDecoration45Zone réservée à la décoration (icône) d’un élément de vue.
QStyle::SE_ItemViewItemText46Zone réservée au texte d’un élément de vue.
QStyle::SE_ItemViewItemFocusRect47Zone réservée au rectangle de focus d’un élément de vue.
QStyle::SE_TabBarTabLeftButton48Zone réservée à un widget situé à gauche d'un onglet dans une barre d'onglets.
QStyle::SE_TabBarTabRightButton49Zone réservée à un widget situé à droite d’un onglet dans une barre d’onglets.
QStyle::SE_TabBarTabText50Zone réservée au texte d'un onglet dans une barre d'onglets.
QStyle::SE_ToolBarHandle52Zone réservée à la poignée d'une barre d'outils.

Voir aussi subElementRect().

Documentation sur les fonctions membres

QStyle::QStyle()

Crée un objet de style.

[virtual noexcept] QStyle::~QStyle()

Supprime l'objet de style.

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

Renvoie un nouveau rectangle aux dimensions spécifiées ( size ) aligné sur l'rectangle, conformément aux paramètres spécifiés ( alignment et direction).

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

Renvoie l'espacement à utiliser entre controls1 et controls2 dans une mise en page. orientation spécifie si les contrôles sont disposés côte à côte ou empilés verticalement. Le paramètre option permet de transmettre des informations supplémentaires sur le widget parent. Le paramètre widget est facultatif et peut également être utilisé si option est nullptr.

controls1 et controls2 sont une combinaison OU d’un ou plusieurs control types.

Cette fonction est appelée par le système de mise en page. Elle n’est utilisée que si PM_LayoutHorizontalSpacing ou PM_LayoutVerticalSpacing renvoie une valeur négative.

Voir également layoutSpacing().

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

Dessine l'control donné à l'aide de l'painter fourni, avec les options de style spécifiées par option.

L'argument ` widget ` est facultatif et peut servir d'aide au tracé du contrôle.

Le paramètre ` option ` est un pointeur vers un objet ` QStyleOptionComplex ` qui peut être converti en sous-classe appropriée à l’aide de la fonction ` qstyleoption_cast()`. Notez que le membre ` rect ` de l’` option ` spécifié doit être exprimé en coordonnées logiques. Les réimplémentations de cette fonction doivent utiliser ` visualRect()` pour convertir les coordonnées logiques en coordonnées d’écran avant d’appeler la fonction ` drawPrimitive()` ou ` drawControl()`.

Le tableau ci-dessous répertorie les éléments de contrôle complexes et leur sous-classe d’options de style associée. Les options de style contiennent tous les paramètres nécessaires au tracé des contrôles, y compris ` QStyleOption::state `, qui contient les ` style flags ` utilisées lors du tracé. Le tableau décrit également les indicateurs qui sont activés lors de la conversion de l’ option donnée vers la sous-classe appropriée.

Contrôle complexeQStyleOptionComplex Sous-classeIndicateur de styleRemarque
CC_SpinBoxQStyleOptionSpinBoxState_EnabledActivé si la zone de saisie est activée.
State_HasFocusÀ activer si la zone de saisie a le focus.
CC_ComboBoxQStyleOptionComboBoxState_EnabledÀ activer si la liste déroulante est activée.
State_HasFocusActivé si la liste déroulante a le focus.
CC_ScrollBarQStyleOptionSliderState_EnabledÀ activer si la barre de défilement est activée.
State_HasFocusActivé si la barre de défilement a le focus.
CC_SliderQStyleOptionSliderState_EnabledActivé si le curseur est activé.
State_HasFocusActivé si le curseur a le focus.
CC_DialQStyleOptionSliderState_EnabledActivé si le cadran est activé.
State_HasFocusActivé si le cadran a le focus.
CC_ToolButtonQStyleOptionToolButtonState_EnabledÀ définir si le bouton d'outil est activé.
State_HasFocusÀ définir si le bouton d'outil a le focus.
State_DownArrowÀ définir si le bouton d'outil est enfoncé (c'est-à-dire si un bouton de la souris ou la barre d'espace est enfoncé).
State_OnÀ définir si le bouton d'outil est un bouton à bascule et s'il est activé.
State_AutoRaiseÀ définir si la fonction de relèvement automatique du bouton d'outil est activée.
State_RaisedActivé si le bouton n’est pas enfoncé, n’est pas activé et ne contient pas le curseur de la souris lorsque la fonction « auto-raise » est activée.
CC_TitleBarQStyleOptionTitleBarState_EnabledÀ définir si la barre de titre est activée.

Voir également drawPrimitive() et drawControl().

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

Dessine l'element donné à l'aide de l'painter fourni, en utilisant les options de style spécifiées par option.

L'argument ` widget ` est facultatif et peut servir d'aide au tracé du contrôle. Le paramètre ` option ` est un pointeur vers un objet ` QStyleOption ` qui peut être converti en sous-classe appropriée à l'aide de la fonction ` qstyleoption_cast()`.

Le tableau ci-dessous répertorie les éléments de contrôle et leur sous-classe d’options de style associée. Les options de style contiennent tous les paramètres nécessaires au dessin des contrôles, y compris ` QStyleOption::state ` qui contient les indicateurs de style utilisés lors du dessin. Le tableau décrit également quels indicateurs sont activés lors de la conversion de l’option donnée vers la sous-classe appropriée.

Notez que si un élément de contrôle ne figure pas dans cette liste, c’est parce qu’il utilise un objet ` QStyleOption ` standard.

Élément de contrôleQStyleOption Sous-classeIndicateur de styleRemarque
CE_MenuItem, CE_MenuBarItemQStyleOptionMenuItemState_SelectedL'élément de menu est actuellement sélectionné.
State_EnabledL'élément est activé.
State_DownArrowIndique qu'une flèche de défilement vers le bas doit être affichée.
State_UpArrowIndique qu'une flèche de défilement vers le haut doit être affichée
State_HasFocusÀ définir si la barre de menu a le focus de saisie.
CE_PushButton, CE_PushButtonBevel, CE_PushButtonLabelQStyleOptionButtonState_EnabledÀ définir si le bouton est activé.
State_HasFocusÀ définir si le bouton a le focus.
State_RaisedÀ activer si le bouton n'est ni enfoncé, ni allumé, ni plat.
State_OnÀ définir si le bouton est un bouton bascule et s'il est activé.
State_SunkenÀ définir si le bouton est enfoncé (c'est-à-dire si le bouton de la souris ou la barre d'espace est enfoncé sur le bouton).
CE_RadioButton, CE_RadioButtonLabel, CE_CheckBox, CE_CheckBoxLabelQStyleOptionButtonState_EnabledÀ définir si le bouton est activé.
State_HasFocusÀ définir si le bouton a le focus.
State_OnÀ définir si le bouton est coché.
State_OffÀ définir si le bouton n'est pas coché.
State_NoChangeÀ définir si le bouton est à l'état « NoChange ».
State_SunkenActivé si le bouton est enfoncé (c'est-à-dire que le bouton de la souris ou la barre d'espace est enfoncé(e) sur le bouton).
CE_ProgressBarContents, CE_ProgressBarLabel, CE_ProgressBarGrooveQStyleOptionProgressBarState_EnabledÀ définir si la barre de progression est activée.
State_HasFocusActivé si la barre de progression a le focus.
CE_Header, CE_HeaderSection, CE_HeaderLabelQStyleOptionHeader
CE_TabBarTab, CE_TabBarTabShape, CE_TabBarTabLabelQStyleOptionTabState_EnabledÀ définir si la barre d’onglets est activée.
State_SelectedLa barre d'onglets est celle qui est actuellement sélectionnée.
State_HasFocusÀ définir si l'onglet de la barre d'onglets a le focus.
CE_ToolButtonLabelQStyleOptionToolButtonState_EnabledÀ définir si le bouton d’outil est activé.
State_HasFocusActivé si le bouton d’outil a le focus.
State_SunkenActivé si le bouton d'outil est enfoncé (c'est-à-dire qu'un bouton de souris ou la barre d'espace est enfoncé).
State_OnÀ définir si le bouton d'outil est un bouton à bascule et s'il est activé.
State_AutoRaiseActivé si la fonction « auto-raise » est activée pour le bouton d’outil.
State_MouseOverActivé si le pointeur de la souris se trouve au-dessus du bouton d'outil.
State_RaisedActivé si le bouton n'est pas enfoncé et n'est pas activé.
CE_ToolBoxTabQStyleOptionToolBoxState_SelectedL'onglet est l'onglet actuellement sélectionné.
CE_HeaderSectionQStyleOptionHeaderState_SunkenIndique que la section est enfoncée.
State_UpArrowIndique que l'indicateur de tri doit pointer vers le haut.
State_DownArrowIndique que l'indicateur de tri doit pointer vers le bas.

Voir également drawPrimitive() et drawComplexControl().

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

Dessine l'pixmap donnée dans l'rectangle spécifiée, conformément à l'alignment spécifiée, à l'aide de l'painter fournie.

Voir également 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

Dessine l'text fournie dans l'rectangle spécifiée à l'aide des paramètres painter et palette fournis.

Le texte est tracé à l’aide du stylo du peintre, puis aligné et ajusté selon l’ alignment spécifiée. Si une textRole explicite est spécifiée, le texte est tracé en utilisant la couleur de l’ palette pour le rôle donné. Le paramètre enabled indique si l’élément est activé ou non ; lors de la réimplémentation de cette fonction, le paramètre enabled doit influencer la manière dont l’élément est tracé.

Voir également Qt::Alignment et drawItemPixmap().

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

Dessine la primitive element fournie à l'aide de l'painter, en utilisant les options de style spécifiées par option.

L'argument ` widget ` est facultatif et peut contenir un widget pouvant faciliter le dessin de l'élément primitif.

Le tableau ci-dessous répertorie les éléments primitifs et leurs sous-classes d’options de style associées. Les options de style contiennent tous les paramètres nécessaires au dessin des éléments, y compris QStyleOption::state qui contient les indicateurs de style utilisés lors du dessin. Le tableau décrit également quels indicateurs sont activés lors de la conversion de l’option donnée vers la sous-classe appropriée.

Notez que si un élément primitif ne figure pas dans cette liste, c’est parce qu’il utilise un objet ` QStyleOption ` simple.

Élément primitifQStyleOption Sous-classeIndicateur de styleRemarque
PE_FrameFocusRectQStyleOptionFocusRectState_FocusAtBorderIndique si le focus se trouve sur le bord ou à l'intérieur du widget.
PE_IndicatorCheckBoxQStyleOptionButtonState_NoChangeIndique une case à cocher « à trois états ».
State_OnIndique que l'indicateur est coché.
PE_IndicatorRadioButtonQStyleOptionButtonState_OnIndique qu'un bouton radio est sélectionné.
State_NoChangeIndique un contrôleur « à trois états ».
State_EnabledIndique que le contrôleur est activé.
PE_IndicatorBranchQStyleOptionState_ChildrenIndique que le contrôle permettant de développer l'arborescence pour afficher les éléments enfants doit être tracé.
State_ItemIndique qu'une branche horizontale (permettant d'afficher un élément enfant) doit être dessinée.
State_OpenIndique que la branche de l'arborescence est développée.
State_SiblingIndique qu'une ligne verticale (permettant d'afficher un élément frère) doit être dessinée.
PE_IndicatorHeaderArrowQStyleOptionHeaderState_UpArrowIndique que la flèche doit être orientée vers le haut ; dans le cas contraire, elle doit être orientée vers le bas.
PE_FrameGroupBox, PE_Frame, PE_FrameLineEdit, PE_FrameMenu, PE_FrameDockWidget, PE_FrameWindowQStyleOptionFrameState_SunkenIndique que le cadre doit être en retrait.
PE_IndicatorToolBarHandleQStyleOptionState_HorizontalIndique que la poignée de la fenêtre est horizontale au lieu d’être verticale.
PE_IndicatorSpinPlus, PE_IndicatorSpinMinus, PE_IndicatorSpinUp, PE_IndicatorSpinDown,QStyleOptionSpinBoxState_SunkenIndique que le bouton est enfoncé.
PE_PanelButtonCommandQStyleOptionButtonState_EnabledÀ définir si le bouton est activé.
State_HasFocusÀ définir si le bouton a le focus.
State_RaisedÀ définir si le bouton n'est ni enfoncé, ni allumé, ni à plat.
State_OnÀ définir si le bouton est un bouton bascule et qu’il est activé.
State_SunkenÀ définir si le bouton est enfoncé (c'est-à-dire si le bouton de la souris ou la barre d'espace est enfoncé(e) sur le bouton).

Voir également drawComplexControl() et drawControl().

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

Renvoie une copie de l'pixmap fournie, dont le style est adapté pour se conformer à la iconMode spécifiée et en tenant compte de la palette spécifiée par option.

Le paramètre option peut contenir des informations supplémentaires, mais il doit obligatoirement contenir une palette.

Notez que toutes les images pixmap ne sont pas conformes ; dans ce cas, l’image pixmap renvoyée est une simple copie.

Voir également QIcon.

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

Renvoie le sous-contrôle situé à l'position indiquée, dans l'control complexe spécifiée (avec les options de style définies par option).

Notez que l’ position est exprimée en coordonnées d’écran.

L'argument ` option ` est un pointeur vers un objet ` QStyleOptionComplex ` (ou l'une de ses sous-classes). L'objet peut être converti au type approprié à l'aide de la fonction ` qstyleoption_cast()`. Voir ` drawComplexControl()` pour plus de détails. L'argument ` widget ` est facultatif et peut contenir des informations supplémentaires pour la fonction.

Voir également drawComplexControl() et subControlRect().

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

Renvoie la zone, au sein de l'rectangle, dans laquelle dessiner l'pixmap spécifiée, conformément à l'alignment définie.

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

Renvoie la zone, au sein de l’ rectangle donnée, dans laquelle dessiner l’ text fournie selon la police spécifiée metrics et alignment. Le paramètre enabled indique si l’élément associé est activé ou non.

Si l’ rectangle fournie est plus grande que la zone nécessaire au rendu de l’ text, le rectangle renvoyé sera décalé au sein de rectangle conformément à la valeur spécifiée dans alignment. Par exemple, si alignment est défini sur Qt::AlignCenter, le rectangle renvoyé sera centré au sein de rectangle. Si l’ rectangle fournie est plus petite que la zone nécessaire, le rectangle renvoyé sera le plus petit rectangle suffisamment grand pour afficher l’ text.

Voir également 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

Renvoie l'espacement à utiliser entre control1 et control2 dans une mise en page. orientation spécifie si les contrôles sont disposés côte à côte ou empilés verticalement. Le paramètre option permet de transmettre des informations supplémentaires sur le widget parent. Le paramètre widget est facultatif et peut également être utilisé si option est nullptr.

Cette fonction est appelée par le système de mise en page. Elle n’est utilisée que si ` PM_LayoutHorizontalSpacing ` ou ` PM_LayoutVerticalSpacing ` renvoie une valeur négative.

Voir également combinedLayoutSpacing().

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

Renvoie le nom du style.

Cette valeur peut être utilisée pour créer un style à l'aide de la fonction ` QStyleFactory::create()`.

Cette fonction a été introduite dans Qt 6.1.

Voir aussi ` QStyleFactory::create()`.

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

Renvoie la valeur du pixel indiqué metric.

Les paramètres ` option ` et ` widget ` spécifiés peuvent être utilisés pour calculer la métrique. La valeur ` option ` peut être convertie au type approprié à l’aide de la fonction ` qstyleoption_cast()`. Notez que la valeur ` option ` peut être nulle, même pour les `PixelMetrics` qui peuvent l’utiliser. Reportez-vous au tableau ci-dessous pour connaître les conversions ` option ` appropriées :

Certaines métriques de pixels sont appelées à partir de widgets, tandis que d’autres ne sont appelées qu’en interne par le style. Si la métrique n’est pas appelée par un widget, il appartient à l’auteur du style de décider s’il souhaite l’utiliser. Pour certains styles, cela peut ne pas être approprié.

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

Initialise l'apparence de l'widget spécifié.

Cette fonction est appelée pour chaque widget à un moment donné après sa création complète, mais juste avant qu’il ne soit affiché pour la toute première fois.

Notez que l'implémentation par défaut ne fait rien. Une utilisation raisonnable de cette fonction pourrait consister à appeler la fonction QWidget::setBackgroundMode() pour le widget. N'utilisez pas cette fonction pour définir, par exemple, la géométrie. La réimplémentation de cette fonction offre une porte dérobée permettant de modifier l'apparence d'un widget, mais avec le moteur de styles de Qt, il est rarement nécessaire de l'implémenter ; réimplémentez plutôt drawItemPixmap(), drawItemText(), drawPrimitive(), etc.

La fonction QWidget::inherits() peut fournir suffisamment d’informations pour permettre des personnalisations spécifiques à une classe. Cependant, comme les nouvelles sous-classes de QStyle sont censées fonctionner correctement avec tous les widgets actuels et futurs, il est recommandé de limiter le recours aux personnalisations codées en dur.

Voir également unpolish().

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

Initialisation tardive de l'objet ` application ` donné.

Il s'agit d'une fonction surchargée.

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

Modifie l’ palette ion en fonction des exigences spécifiques au style concernant les palettes de couleurs (le cas échéant).

Il s'agit d'une fonction surchargée.

Voir également ` QPalette ` et ` QApplication::setPalette()`.

const QStyle *QStyle::proxy() const

Cette fonction renvoie le proxy actuel associé à ce style. Par défaut, la plupart des styles renvoient leur propre instance. Toutefois, lorsqu'un style proxy est utilisé, cela permet au style d'appeler à nouveau son proxy.

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

Renvoie la taille de l'élément décrit par les paramètres ` option ` et ` type` spécifiés, en fonction de la valeur fournie par ` contentsSize`.

L'argument option est un pointeur vers un QStyleOption ou l'une de ses sous-classes. L'argument option peut être converti au type approprié à l'aide de la fonction qstyleoption_cast(). L'argument widget est facultatif et peut contenir des informations supplémentaires utilisées pour le calcul de la taille.

Consultez le tableau ci-dessous pour connaître les conversions appropriées de ` option ` :

Voir également ContentsType et QStyleOption.

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

Convertit l'logicalValue e fournie en une position en pixels. Le paramètre « min » correspond à 0, « max » correspond à span et les autres valeurs sont réparties uniformément entre ces deux valeurs.

Cette fonction peut traiter toute la plage des entiers sans débordement, à condition que l’ span soit inférieure à 4096.

Par défaut, cette fonction suppose que la valeur maximale se trouve à droite pour les éléments horizontaux et en bas pour les éléments verticaux. Définissez le paramètre upsideDown sur true pour inverser ce comportement.

Voir aussi sliderValueFromPosition().

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

Convertit l'position de pixel fournie en une valeur logique. La valeur 0 correspond au paramètre min, la valeur span correspond à max et les autres valeurs sont réparties uniformément entre ces deux valeurs.

Cette fonction peut traiter toute la plage des entiers sans débordement.

Par défaut, cette fonction considère que la valeur maximale se trouve à droite pour les éléments horizontaux et en bas pour les éléments verticaux. Définissez le paramètre upsideDown sur true pour inverser ce comportement.

Voir également sliderPositionFromValue().

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

Renvoie une icône correspondant à l'standardIcon.

L'standardIcon est une image bitmap standard pouvant respecter un style ou des directives d'interface graphique existants. L'argument option peut être utilisé pour transmettre des informations supplémentaires nécessaires à la définition de l'icône appropriée. L'argument widget est facultatif et peut également être utilisé pour faciliter la détermination de l'icône.

[virtual] QPalette QStyle::standardPalette() const

Renvoie la palette standard du style.

Notez que sur les systèmes prenant en charge les couleurs système, la palette standard du style n'est pas utilisée. En particulier, les styles Windows Vista et Mac n'utilisent pas la palette standard, mais s'appuient sur des moteurs de thèmes natifs. Avec ces styles, vous ne devez pas définir la palette à l'aide de la fonction QApplication::setPalette().

Voir également QApplication::setPalette().

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

Renvoie un entier représentant l'hint de style spécifiée pour l'widget donnée, décrite par le style fourni option.

returnData Cette méthode est utilisée lorsque le widget effectuant la requête a besoin de données plus détaillées que l'entier renvoyé par la méthode styleHint(). Pour plus de détails, consultez la description de la classe ` QStyleHintReturn `.

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

Renvoie le rectangle contenant l'subControl spécifiée de l'control complexe donné (avec le style spécifié par option). Le rectangle est défini en coordonnées d'écran.

L'argument ` option ` est un pointeur vers ` QStyleOptionComplex ` ou l'une de ses sous-classes, et peut être converti au type approprié à l'aide de la fonction ` qstyleoption_cast()`. Voir ` drawComplexControl()` pour plus de détails. L'argument ` widget ` est facultatif et peut contenir des informations supplémentaires pour la fonction.

Voir également drawComplexControl().

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

Renvoie la sous-zone correspondant à l'element donné, telle que décrite dans le style fourni option. Le rectangle renvoyé est défini en coordonnées d'écran.

L'argument ` widget ` est facultatif et peut être utilisé pour faciliter la détermination de la zone. L'objet ` QStyleOption ` peut être converti au type approprié à l'aide de la fonction ` qstyleoption_cast()`. Reportez-vous au tableau ci-dessous pour connaître les conversions appropriées de ` option ` :

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

Réinitialise l'apparence de l'widget donné.

Cette fonction est le pendant de ` polish()`. Elle est appelée pour chaque widget « poli » chaque fois que le style est modifié dynamiquement ; l’ancien style doit « dépolir » ses paramètres avant que le nouveau style ne puisse les « polir » à nouveau.

Notez que la fonction unpolish() ne sera appelée que si le widget est détruit. Cela peut poser des problèmes dans certains cas, par exemple si vous supprimez un widget de l'interface utilisateur, que vous le mettez en cache, puis que vous le réinsérez après que le style a changé ; certaines classes de Qt Widgets mettent leurs widgets en cache.

Voir également ` polish()`.

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

Désinitialiser l'application.

Il s'agit d'une fonction surchargée.

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

Transforme une alignment de type Qt::AlignLeft ou Qt::AlignRight sans Qt::AlignAbsolute en Qt::AlignLeft ou Qt::AlignRight avec Qt::AlignAbsolute, conformément à la mise en page direction. Les autres indicateurs d'alignement restent inchangés.

Si aucun alignement horizontal n'a été spécifié, la fonction renvoie l'alignement par défaut pour la mise en page donnée direction.

QWidget::layoutDirection

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

Renvoie l'logicalPosition e indiquée, convertie en coordonnées d'écran selon l'direction spécifiée. L'boundingRectangle est utilisée lors de la translation.

Voir également QWidget::layoutDirection.

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

Renvoie l'logicalRectangle e fournie, convertie en coordonnées d'écran selon l'direction spécifiée. L'boundingRectangle est utilisée lors de la translation.

Cette fonction est fournie pour prendre en charge les environnements de bureau s'affichant de droite à gauche, et est généralement utilisée dans les implémentations de la fonction subControlRect().

Voir également 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.