Sur cette page

QStyle Class

La classe QStyle est une classe de base abstraite qui encapsule l'aspect et la convivialité d'une interface graphique. Plus d'informations...

En-tête : #include <QStyle>
CMake : find_package(Qt6 REQUIRED COMPONENTS Widgets)
target_link_libraries(mytarget PRIVATE Qt6::Widgets)
qmake : QT += widgets
Hérite : 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

Qt contient un ensemble de sous-classes QStyle qui émulent les styles des différentes plateformes supportées par Qt (QWindowsStyle, QMacStyle, etc.). Par défaut, ces styles sont intégrés au module Qt GUI. Les styles peuvent également être disponibles sous forme de modules d'extension.

Les widgets intégrés de Qt utilisent QStyle pour réaliser la quasi-totalité de leurs dessins, ce qui garantit qu'ils ressemblent exactement aux widgets natifs équivalents. Le diagramme ci-dessous montre un QComboBox dans neuf styles différents.

Neuf boîtes combo de styles différents

Sujets :

Définition d'un style

Le style de l'application entière peut être défini à l'aide de la fonction QApplication::setStyle(). Il peut également être spécifié par l'utilisateur de l'application, en utilisant 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().

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 réaliser certaines parties du dessin du widget, telles que drawItemText(), drawItemPixmap(), drawPrimitive(), drawControl() et drawComplexControl().

La plupart des fonctions de dessin QStyle prennent quatre arguments :

  • une valeur d'énumération spécifiant l'élément graphique à dessiner
  • un QStyleOption spécifiant comment et où rendre cet élément
  • un QPainter qui doit être utilisé pour dessiner l'élément
  • une adresse QWidget sur laquelle le dessin est effectué (facultatif).

Par exemple, si vous voulez 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 obtient toutes les informations dont il a besoin pour rendre 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 (comme les boutons animés par défaut sur macOS), mais il n'est pas obligatoire. En fait, vous pouvez utiliser QStyle pour dessiner sur n'importe quel périphérique de peinture, et pas seulement sur les widgets, en définissant correctement QPainter.

QStyleOption QStyle a plusieurs sous-classes pour les différents types d'éléments graphiques qui peuvent être dessinés. Par exemple, PE_FrameFocusRect attend un argument QStyleOptionFocusRect.

Pour que les opérations de dessin soient aussi rapides que possible, QStyleOption et ses sous-classes ont des membres de données publics. Consultez la documentation de la classe QStyleOption pour savoir comment l'utiliser.

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éation d'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 créer un style personnalisé. Dans l'approche statique, vous choisissez une classe QStyle existante, vous la sous-classez et vous réimplémentez les fonctions virtuelles pour fournir le comportement personnalisé, ou vous créez une classe QStyle entière à partir de zéro. Dans l'approche dynamique, vous modifiez le comportement de votre style de système au moment de l'exécution. L'approche statique est décrite ci-dessous. L'approche dynamique est décrite à l'adresse QProxyStyle.

La première étape de l'approche statique consiste à choisir l'un des styles fournis par Qt à partir duquel vous construirez votre style personnalisé. Le choix de la classe QStyle dépendra du style qui ressemble le plus au style souhaité. La classe la plus générale que vous pouvez utiliser comme base est QCommonStyle (et non QStyle). En effet, Qt exige que ses styles soient QCommonStyles.

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'aspect des flèches de la boîte à outils dessinées par QWindowsStyle. 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 vers le haut et vers le bas, 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);
    }
}

Remarquez que nous n'utilisons pas l'argument widget, sauf pour le transmettre à la fonction QWindowStyle::drawPrimitive(). Comme nous l'avons déjà mentionné, les informations sur ce qui doit être dessiné et sur la manière dont cela doit être dessiné sont spécifiées par un objet QStyleOption, il n'est donc pas nécessaire de le demander au widget.

Si vous devez utiliser l'argument widget pour obtenir des informations supplémentaires, assurez-vous qu'il ne vaut pas 0 et qu'il est du bon type avant de l'utiliser. Par exemple, lors de l'implémentation d'un style personnalisé, vous ne pouvez pas utiliser l'argument

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 un QSpinBox simplement parce que la valeur de l'énumération s'appelle PE_IndicatorSpinUp ou PE_IndicatorSpinDown.

Attention : Les feuilles de style Qt ne sont actuellement pas prises en charge pour les sous-classes QStyle personnalisées. Nous prévoyons d'y remédier dans une prochaine version.

Utilisation d'un style personnalisé

Il existe plusieurs façons d'utiliser un style personnalisé dans une application Qt. La plus simple consiste à passer 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 pouvez vouloir rendre votre style personnalisé disponible pour une utilisation dans d'autres applications, qui peuvent ne pas être les vôtres et donc ne pas être disponibles pour que vous les recompiliez. Le système de plugins Qt permet de créer des styles en tant que plugins. Les styles créés en tant que plugins sont chargés en tant qu'objets partagés au moment de l'exécution par Qt lui-même. Veuillez vous référer à la documentation Qt Plugin pour plus d'informations sur la façon de créer un plugin de style.

Compilez votre plugin et placez-le dans le répertoire plugins/styles de Qt. Nous disposons maintenant d'un style enfichable que Qt peut charger automatiquement. Pour utiliser votre nouveau style avec des applications existantes, démarrez simplement l'application avec l'argument suivant :

./myapplication -style custom

L'application utilisera l'aspect et la convivialité du style personnalisé que vous avez implémenté.

Bureaux de droite à gauche

Les langues qui s'écrivent de droite à gauche (comme l'arabe et l'hébreu) reflètent généralement l'ensemble de la disposition des widgets et exigent 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 faire particulièrement attention lorsque vous dessinez des éléments asymétriques afin de vous assurer qu'ils sont également corrects dans une mise en page miroir. Un moyen facile de tester vos styles est d'exécuter des applications avec l'option de ligne de commande -reverse ou d'appeler QApplication::setLayoutDirection() dans votre fonction main().

Voici quelques éléments à garder à l'esprit pour qu'un style fonctionne bien dans un environnement de droite à gauche :

  • subControlRect() et subElementRect() renvoient des rectangles en coordonnées d'écran
  • QStyleOption::direction indique la direction dans laquelle l'élément doit être dessiné
  • Si un style n'est pas compatible avec un environnement de droite à gauche, il affichera les éléments comme s'ils étaient affichés de gauche à droite.
  • visualRect(), visualPos() et visualAlignment() sont des fonctions utiles qui traduisent les représentations logiques en représentations à l'écran.
  • alignedRect() renvoie un rectangle logique aligné sur la direction actuelle.

Styles dans les vues d'éléments

La peinture des éléments dans les vues est effectuée par un délégué. Le délégué par défaut de Qt XML, QStyledItemDelegate, est également utilisé pour calculer les rectangles de délimitation des éléments et 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 des éléments, consultez la section Programmation Modèle/Vue.

Lorsque QStyledItemDelegate peint ses éléments, il dessine 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 (et de toute autre sous-classe dont votre style hérite). De cette manière, vous découvrirez quels et comment les autres éléments du style sont peints, et vous pourrez alors réimplémenter la peinture des éléments qui devraient être dessinés différemment.

Nous incluons un petit exemple dans lequel nous personnalisons le dessin 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 peindre l'arrière-plan des éléments et est appelé à partir de l'implémentation de CE_ItemViewItem par QCommonStyle.

Pour ajouter la prise en charge de l'affichage de nouveaux types de données et rôles de données d'éléments, il est nécessaire de créer un délégué personnalisé. Mais si vous ne devez prendre en charge que les types de données implémentés par le délégué par défaut, un style personnalisé n'a pas besoin d'être accompagné d'un délégué. La description de la classe QStyledItemDelegate fournit de plus amples informations sur les délégués personnalisés.

Le dessin des en-têtes des vues d'éléments est également effectué par le style, ce qui permet de contrôler la taille des éléments d'en-tête ainsi que la taille des lignes et des colonnes.

Voir également QStyleOption, QStylePainter, Styles et widgets sensibles au style, QStyledItemDelegate, et Stylisation.

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 en fonction de l'endroit où l'utilisateur clique dessus ou des touches qu'il actionne.

ConstanteValeurDescription
QStyle::CC_SpinBox0Une boîte à outils (spinbox), comme QSpinBox.
QStyle::CC_ComboBox1Une boîte combinée, comme QComboBox.
QStyle::CC_ScrollBar2Une barre de défilement, comme QScrollBar.
QStyle::CC_Slider3Une barre de défilement, comme QSlider.
QStyle::CC_ToolButton4Un bouton d'outil, comme QToolButton.
QStyle::CC_TitleBar5Une barre de titre, comme celles utilisées dans QMdiSubWindow.
QStyle::CC_GroupBox7Une boîte de groupe, comme QGroupBox.
QStyle::CC_Dial6Un cadran, comme QDial.
QStyle::CC_MdiControls8Le bouton de minimisation, de fermeture et de normalisation dans la barre de menu pour une sous-fenêtre MDI maximisée.
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 sont utilisés pour calculer les tailles des contenus des différents widgets.

ConstanteValeurDescription
QStyle::CT_CheckBox1Une case à cocher, comme QCheckBox.
QStyle::CT_ComboBox4Une boîte combinée, comme QComboBox.
QStyle::CT_HeaderSection19Une section d'en-tête, comme QHeader.
QStyle::CT_LineEdit14Une ligne d'édition, comme QLineEdit.
QStyle::CT_Menu10Un menu, comme QMenu.
QStyle::CT_MenuBar9Une barre de menu, comme QMenuBar.
QStyle::CT_MenuBarItem8Un élément de barre de menu, comme les boutons d'un site QMenuBar.
QStyle::CT_MenuItem7Un élément de menu, comme 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 taille, comme QSizeGrip.
QStyle::CT_Slider12Un curseur, comme QSlider.
QStyle::CT_ScrollBar13Une barre de défilement, comme QScrollBar.
QStyle::CT_SpinBox15Une boîte à outils, comme QSpinBox.
QStyle::CT_Splitter5Un séparateur, comme QSplitter.
QStyle::CT_TabBarTab11Un onglet sur une barre d'onglets, comme QTabBar.
QStyle::CT_TabWidget17Un widget d'onglet, comme QTabWidget.
QStyle::CT_ToolButton3Un bouton d'outil, comme QToolButton.
QStyle::CT_GroupBox20Un cadre de groupe, comme QGroupBox.
QStyle::CT_ItemViewItem22Un élément à l'intérieur d'une vue d'élément.
QStyle::CT_CustomBase0xf0000000Valeur de base pour les types de contenus personnalisés. Les valeurs personnalisées doivent être supérieures à cette valeur.
QStyle::CT_MdiControls21Le bouton de minimisation, de normalisation et de fermeture de la barre de menus pour une sous-fenêtre MDI maximisée.

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 de l'élément de contrôle
QStyle::CE_PushButton0Un QPushButton, dessine 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 texte ou pixmap) d'un QPushButton.
QStyle::CE_DockWidgetTitle30Titre de la fenêtre d'ancrage.
QStyle::CE_Splitter28Poignée du séparateur ; voir aussi QSplitter.
QStyle::CE_CheckBox3Un QCheckBox, dessine un PE_IndicatorCheckBox, un CE_CheckBoxLabel et un PE_FrameFocusRect.
QStyle::CE_CheckBoxLabel4L'étiquette (texte ou pixmap) d'un QCheckBox.
QStyle::CE_RadioButton5A QRadioButton, dessine un PE_IndicatorRadioButton, un CE_RadioButtonLabel et un PE_FrameFocusRect.
QStyle::CE_RadioButtonLabel6L'étiquette (texte ou pixmap) d'un QRadioButton.
QStyle::CE_TabBarTab7L'onglet et l'étiquette d'un QTabBar.
QStyle::CE_TabBarTabShape8La forme de l'onglet dans une barre d'onglets.
QStyle::CE_TabBarTabLabel9L'étiquette à l'intérieur d'un onglet.
QStyle::CE_ProgressBar10A QProgressBar, dessine CE_ProgressBarGroove, CE_ProgressBarContents et CE_ProgressBarLabel.
QStyle::CE_ProgressBarGroove11La rainure où l'indicateur de progression est dessiné dans un QProgressBar.
QStyle::CE_ProgressBarContents12L'indicateur de progression d'un QProgressBar.
QStyle::CE_ProgressBarLabel13L'étiquette de texte d'une page QProgressBar.
QStyle::CE_ToolButtonLabel22L'étiquette d'un bouton d'outil.
QStyle::CE_MenuBarItem20Un élément de menu dans une page QMenuBar.
QStyle::CE_MenuBarEmptyArea21La zone vide d'une page QMenuBar.
QStyle::CE_MenuItem14Un élément de menu dans une page QMenu.
QStyle::CE_MenuScroller15Les zones de défilement d'un site QMenu lorsque le style prend en charge le défilement.
QStyle::CE_MenuTearoff18Un élément de menu représentant la section détachable d'un site QMenu.
QStyle::CE_MenuEmptyArea19La zone d'un menu sans éléments de menu.
QStyle::CE_MenuHMargin17L'espace horizontal supplémentaire à gauche/droite d'un menu.
QStyle::CE_MenuVMargin16L'espace vertical supplémentaire en haut et en bas d'un menu.
QStyle::CE_ToolBoxTab26L'onglet et l'étiquette de la boîte à outils à l'intérieur d'une 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.-à-d. défilement vers le bas) ; voir également QScrollBar.
QStyle::CE_ScrollBarSubLine32Indicateur de diminution de la ligne de la barre de défilement (c.-à-d. défilement vers le haut).
QStyle::CE_ScrollBarAddPage33Indicateur d'augmentation de la page de la barre de défilement (c.-à-d. page vers le bas).
QStyle::CE_ScrollBarSubPage34Indicateur de diminution de la page de la barre de défilement (c.-à-d. page vers le haut).
QStyle::CE_ScrollBarSlider35Curseur de la barre de défilement.
QStyle::CE_ScrollBarFirst36Indicateur de la première ligne de la barre de défilement (c.-à-d. page d'accueil).
QStyle::CE_ScrollBarLast37Indicateur de dernière ligne de la barre de défilement (c.-à-d. fin).
QStyle::CE_RubberBand29Ruban élastique utilisé, par exemple, dans une vue d'icône.
QStyle::CE_FocusFrame38Cadre de mise au point contrôlé par le style.
QStyle::CE_ItemViewItem45Un élément à l'intérieur d'une vue d'élément.
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 élément non modifiable QComboBox.
QStyle::CE_ToolBar40Une barre d'outils comme QToolBar.
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 métriques de pixels disponibles. Une métrique de pixel est une taille dépendant du style et représentée par une seule valeur de pixel.

ConstanteValeurDescription
QStyle::PM_ButtonMargin0Quantité d'espace blanc entre les étiquettes des boutons poussoirs et le cadre.
QStyle::PM_DockWidgetTitleBarButtonMargin73Espace blanc entre les étiquettes des boutons de la barre de titre du widget dock et le cadre.
QStyle::PM_ButtonDefaultIndicator1Largeur du cadre de l'indicateur de bouton par défaut.
QStyle::PM_MenuButtonIndicator2Largeur de l'indicateur de bouton de menu proportionnelle à la hauteur du widget.
QStyle::PM_ButtonShiftHorizontal3Décalage horizontal du contenu d'un bouton lorsque le bouton est abaissé.
QStyle::PM_ButtonShiftVertical4Décalage vertical du contenu d'un bouton lorsqu'il est abaissé.
QStyle::PM_DefaultFrameWidth5Largeur de cadre par défaut (généralement 2).
QStyle::PM_SpinBoxFrameWidth6Largeur du cadre d'une boîte tournante, par défaut PM_DefaultFrameWidth.
QStyle::PM_ComboBoxFrameWidth7Largeur de cadre d'une boîte combo, par défaut PM_DefaultFrameWidth.
QStyle::PM_MdiSubWindowFrameWidth44Largeur du cadre d'une fenêtre MDI.
QStyle::PM_MdiSubWindowMinimizedWidth45Largeur d'une fenêtre MDI minimisée.
QStyle::PM_LayoutLeftMargin75Valeur par défaut left margin pour QLayout.
QStyle::PM_LayoutTopMargin76Défaut top margin pour un QLayout.
QStyle::PM_LayoutRightMargin77Défaut right margin pour un QLayout.
QStyle::PM_LayoutBottomMargin78Défaut bottom margin pour un QLayout.
QStyle::PM_LayoutHorizontalSpacing79Défaut horizontal spacing pour un QLayout.
QStyle::PM_LayoutVerticalSpacing80Défaut vertical spacing pour QLayout.
QStyle::PM_MaximumDragDistance8Distance maximale autorisée entre la souris et une barre de défilement lors d'un déplacement. Si la distance spécifiée est dépassée, le curseur revient à sa position initiale ; 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_ScrollBarSliderMin10La hauteur minimale du curseur d'une barre de défilement verticale et la 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 tickmarks et la barre de défilement.
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 dock.
QStyle::PM_DockWidgetTitleMargin70Marge du titre de la fenêtre dock.
QStyle::PM_MenuBarPanelWidth33Largeur du cadre d'une barre de menu, par défaut PM_DefaultFrameWidth.
QStyle::PM_MenuBarItemSpacing34Espace entre les éléments de la barre de menu.
QStyle::PM_MenuBarHMargin36Espacement entre les éléments de la barre de menu et la gauche/droite de la barre.
QStyle::PM_MenuBarVMargin35Espacement entre les éléments de la barre de menu et le haut/bas de la barre.
QStyle::PM_ToolBarFrameWidth52Largeur du cadre autour des 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_ToolBarItemMargin55Espace entre le cadre de la barre d'outils et les éléments.
QStyle::PM_ToolBarItemSpacing54Espace 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 des onglets. (Actuellement utilisé uniquement dans les styles, pas à l'intérieur de 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 entre la barre d'onglets et les pages d'onglets.
QStyle::PM_TabBarBaseOverlap23Nombre de pixels de chevauchement entre la barre d'onglets et la base de la barre d'onglets.
QStyle::PM_TabBarScrollButtonWidth51
QStyle::PM_TabBarTabShiftHorizontal49Décalage horizontal des pixels lors de la sélection d'un onglet.
QStyle::PM_TabBarTabShiftVertical50Décalage vertical des pixels lors de la sélection d'un onglet.
QStyle::PM_ProgressBarChunkWidth24Largeur d'un morceau dans un indicateur de barre 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) pour une page QMenu.
QStyle::PM_MenuHMargin28Bordure supplémentaire (utilisée à gauche et à droite) pour un QMenu.
QStyle::PM_MenuVMargin29Bordure supplémentaire (utilisée en bas et en haut) pour une page QMenu.
QStyle::PM_MenuScrollerHeight27Hauteur de la zone de défilement dans une page QMenu.
QStyle::PM_MenuTearoffHeight31Hauteur de la zone d'arrachage dans une page QMenu.
QStyle::PM_MenuDesktopFrameWidth32La largeur du cadre pour le menu sur le bureau.
QStyle::PM_HeaderMarkSize47La taille de l'indicateur de tri dans un en-tête.
QStyle::PM_HeaderGripMargin48La taille 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 de la barre de défilement optionnelle.
QStyle::PM_ToolBarIconSize59Taille par défaut de l'icône de la barre d'outils
QStyle::PM_SmallIconSize62Taille par défaut de la petite icône
QStyle::PM_LargeIconSize63Taille par défaut de la grande icône
QStyle::PM_FocusFrameHMargin65Marge horizontale par laquelle le cadre de mise au point dépassera le widget.
QStyle::PM_FocusFrameVMargin64Marge verticale par laquelle le cadre de focalisation dépassera le widget.
QStyle::PM_IconViewIconSize61Taille par défaut des icônes dans une vue d'icônes.
QStyle::PM_ListViewIconSize60Taille par défaut des icônes dans une vue en liste.
QStyle::PM_ToolTipLabelFrameWidth66La largeur du cadre pour une étiquette d'info-bulle.
QStyle::PM_CheckBoxLabelSpacing67L'espacement entre un indicateur de case à cocher et son étiquette.
QStyle::PM_RadioButtonLabelSpacing74L'espacement entre l'indicateur d'un bouton radio et son étiquette.
QStyle::PM_TabBarIconSize68La taille par défaut des icônes d'une barre d'onglets.
QStyle::PM_SizeGripSize69La taille d'une poignée de taille.
QStyle::PM_MessageBoxIconSize71La taille des icônes standard d'une boîte de message.
QStyle::PM_ButtonIconSize72La taille par défaut des icônes des boutons
QStyle::PM_TextCursorWidth82La largeur du curseur dans une édition 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 du bouton de fermeture d'un onglet dans une barre d'onglets.
QStyle::PM_TabCloseIndicatorHeight84La hauteur par défaut d'un bouton de fermeture sur un onglet dans une barre d'onglets.
QStyle::PM_ScrollView_ScrollBarSpacing85Distance entre le cadre et la barre de défilement lorsque SH_ScrollView_FrameOnlyAroundContents est activé.
QStyle::PM_ScrollView_ScrollBarOverlap86Chevauchement entre les barres de défilement et le contenu du défilement
QStyle::PM_SubMenuOverlap87Le chevauchement horizontal entre un sous-menu et son 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 a été introduite dans Qt 5.5.
QStyle::PM_HeaderDefaultSectionSizeVertical90La taille par défaut des sections dans un en-tête vertical. Cette valeur a été introduite dans Qt 5.5.
QStyle::PM_TitleBarButtonIconSize (since Qt 5.8)91La taille des icônes de boutons dans une barre de titre.
QStyle::PM_TitleBarButtonSize (since Qt 5.8)92La taille des boutons dans une barre de titre.
QStyle::PM_LineEditIconSize (since Qt 6.2)93La taille par défaut des icônes dans une ligne d'édition.
QStyle::PM_LineEditIconMargin (since Qt 6.3)94La marge autour des icônes dans une ligne d'édition.
QStyle::PM_CustomBase0xf0000000Valeur de base pour les mesures personnalisées en pixels. 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 de l'interface graphique, tel qu'un indicateur de case à cocher ou un biseau de bouton.

ConstanteValeurDescription de l'élément primitif
QStyle::PE_PanelButtonCommand13Bouton utilisé pour initier une action, par exemple, un QPushButton.
QStyle::PE_FrameDefaultButton1Ce cadre entoure un bouton par défaut, par exemple dans une boîte de dialogue.
QStyle::PE_PanelButtonBevel14Panneau générique avec un biseau de bouton.
QStyle::PE_PanelButtonTool15Panneau pour un bouton d'outil, utilisé avec QToolButton.
QStyle::PE_PanelLineEdit18Panneau pour un bouton QLineEdit.
QStyle::PE_IndicatorButtonDropDown24Indicateur pour un bouton déroulant, par exemple un bouton d'outil qui affiche un menu.
QStyle::PE_FrameFocusRect3Indicateur générique de mise au point.
QStyle::PE_IndicatorArrowUp22Flèche générique vers le haut.
QStyle::PE_IndicatorArrowDown19Flèche générique vers le bas.
QStyle::PE_IndicatorArrowRight21Flèche droite générique.
QStyle::PE_IndicatorArrowLeft20Flèche gauche générique.
QStyle::PE_IndicatorSpinUp35Symbole vers le haut pour un widget de rotation, par exemple QSpinBox.
QStyle::PE_IndicatorSpinDown32Symbole de descente pour un widget de rotation.
QStyle::PE_IndicatorSpinPlus34Symbole d'augmentation pour un widget de rotation.
QStyle::PE_IndicatorSpinMinus33Symbole de diminution pour un widget de rotation.
QStyle::PE_IndicatorItemViewItemCheck25Indicateur marche/arrêt pour un élément de la vue.
QStyle::PE_IndicatorCheckBox26Indicateur de marche/arrêt, par exemple QCheckBox.
QStyle::PE_IndicatorRadioButton31Indicateur d'activation/désactivation exclusif, par exemple QRadioButton.
QStyle::PE_IndicatorDockWidgetResizeHandle27Poignée de redimensionnement pour les fenêtres d'ancrage.
QStyle::PE_Frame0Cadre générique
QStyle::PE_FrameMenu6Cadre pour les fenêtres/menus contextuels ; voir également QMenu.
QStyle::PE_PanelMenuBar16Panneau pour les barres de menu.
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 d'ancrage et les barres d'outils.
QStyle::PE_FrameTabWidget8Cadre pour les widgets d'onglets.
QStyle::PE_FrameLineEdit5Cadre du panneau pour les modifications de ligne.
QStyle::PE_FrameGroupBox4Cadre de panneau autour des cadres de groupe.
QStyle::PE_FrameButtonBevel10Cadre du 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 d'ancrage.
QStyle::PE_IndicatorMenuCheckMark29Coche utilisée dans un menu.
QStyle::PE_IndicatorProgressChunk30Section d'un indicateur de barre de progression ; voir également QProgressBar.
QStyle::PE_IndicatorBranch23Lignes utilisées pour représenter les branches d'un arbre dans une vue arborescente.
QStyle::PE_IndicatorToolBarHandle36La poignée d'une barre d'outils.
QStyle::PE_IndicatorToolBarSeparator37Le séparateur d'une barre d'outils.
QStyle::PE_PanelToolBar17Le panneau d'une barre d'outils.
QStyle::PE_PanelTipLabel38Le panneau d'une étiquette de conseil.
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 PE_IndicatorTabTearLeft à la place.
QStyle::PE_IndicatorTabTearLeftPE_IndicatorTabTearIndicateur qu'un onglet est partiellement déroulé sur le côté gauche de la barre d'onglets visible lorsqu'il y a beaucoup d'onglets.
QStyle::PE_IndicatorTabTearRight49Un indicateur qu'un onglet est partiellement déroulé sur le côté droit de la barre d'onglets visible lorsqu'il y a plusieurs onglets.
QStyle::PE_IndicatorColumnViewArrow42Une flèche dans un QColumnView.
QStyle::PE_Widget41Un simple QWidget.
QStyle::PE_CustomBase0xf000000Valeur de base pour les éléments primitifs personnalisés. Toutes les valeurs supérieures sont réservées à un usage personnalisé. Les valeurs personnalisées doivent être supérieures à cette valeur.
QStyle::PE_IndicatorItemViewItemDrop43Indicateur dessiné pour montrer où un élément d'une vue d'élément est sur le point d'être déposé lors d'une opération de glisser-déposer dans une vue d'élément.
QStyle::PE_PanelItemViewItem44L'arrière-plan d'un élément dans une vue d'élément.
QStyle::PE_PanelItemViewRow45L'arrière-plan d'une ligne dans une vue d'élément.
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 également drawPrimitive().

enum QStyle::RequestSoftwareInputPanel

Cette énumération décrit les circonstances dans lesquelles un panneau de saisie logiciel sera demandé par les widgets capables de saisir des données.

ConstanteValeurDescription
QStyle::RSIP_OnMouseClickAndAlreadyFocused0Demande un panneau de saisie si l'utilisateur clique sur le widget, mais seulement s'il est déjà focalisé.
QStyle::RSIP_OnMouseClick1Demande un panneau de saisie si l'utilisateur clique sur le widget.

Voir également QInputMethod.

enum QStyle::StandardPixmap

Cette énumération décrit les pixmaps standard disponibles. Une pixmap standard est une pixmap qui peut suivre un style ou une ligne directrice de l'interface graphique existante.

ConstanteValeurDescription
QStyle::SP_TitleBarMinButton1Bouton de réduction sur les barres de titre (par exemple, sur QMdiSubWindow).
QStyle::SP_TitleBarMenuButton0Bouton de menu sur une barre de titre.
QStyle::SP_TitleBarMaxButton2Bouton de maximisation sur les barres de titre.
QStyle::SP_TitleBarCloseButton3Bouton de fermeture dans les barres de titre.
QStyle::SP_TitleBarNormalButton4Bouton de normalisation (restauration) sur les barres de titre.
QStyle::SP_TitleBarShadeButton5Bouton d'ombrage dans les barres de titre.
QStyle::SP_TitleBarUnshadeButton6Bouton "Unshade" dans les barres de titre.
QStyle::SP_TitleBarContextHelpButton7Le bouton 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 "Mon ordinateur".
QStyle::SP_DriveFDIcon16L'icône de la disquette.
QStyle::SP_DriveHDIcon17L'icône du disque dur.
QStyle::SP_DriveCDIcon18L'icône du CD.
QStyle::SP_DriveDVDIcon19L'icône du DVD.
QStyle::SP_DriveNetIcon20L'icône du 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 de lien vers le répertoire.
QStyle::SP_DirLinkOpenIcon24L'icône du lien vers le répertoire ouvert.
QStyle::SP_FileIcon25L'icône de fichier.
QStyle::SP_FileLinkIcon26Le lien vers l'icône de fichier.
QStyle::SP_FileDialogStart29L'icône de "début" dans une boîte de dialogue de fichier.
QStyle::SP_FileDialogEnd30L'icône de "fin" dans une boîte de dialogue de fichier.
QStyle::SP_FileDialogToParent31L'icône "répertoire parent" dans une boîte de dialogue de fichier.
QStyle::SP_FileDialogNewFolder32L'icône "créer un nouveau dossier" dans la boîte de dialogue d'un fichier.
QStyle::SP_FileDialogDetailedView33L'icône de vue détaillée dans la boîte de dialogue d'un fichier.
QStyle::SP_FileDialogInfoView34L'icône d'information sur le fichier dans une boîte de dialogue.
QStyle::SP_FileDialogContentsView35L'icône d'affichage du contenu dans une boîte de dialogue de fichier.
QStyle::SP_FileDialogListView36L'icône d'affichage de la liste dans une boîte de dialogue de fichier.
QStyle::SP_FileDialogBack37La flèche de retour dans une boîte de dialogue de fichier.
QStyle::SP_DockWidgetCloseButton8Bouton de fermeture des fenêtres du dock (voir aussi QDockWidget).
QStyle::SP_ToolBarHorizontalExtensionButton27Bouton d'extension pour les barres d'outils horizontales.
QStyle::SP_ToolBarVerticalExtensionButton28Bouton d'extension pour les barres d'outils verticales.
QStyle::SP_DialogOkButton39Icône d'un bouton OK standard dans une fenêtre QDialogButtonBox.
QStyle::SP_DialogCancelButton40Icône d'un bouton d'annulation standard dans une fenêtre QDialogButtonBox.
QStyle::SP_DialogHelpButton41Icône d'un bouton d'aide standard dans une page QDialogButtonBox.
QStyle::SP_DialogOpenButton42Icône d'un bouton standard Ouvrir dans une page QDialogButtonBox.
QStyle::SP_DialogSaveButton43Icône pour un bouton standard Enregistrer dans une page QDialogButtonBox.
QStyle::SP_DialogCloseButton44Icône pour un bouton Fermer standard dans une page QDialogButtonBox.
QStyle::SP_DialogApplyButton45Icône pour un bouton standard Apply dans une page QDialogButtonBox.
QStyle::SP_DialogResetButton46Icône pour un bouton standard Reset dans une page QDialogButtonBox.
QStyle::SP_DialogDiscardButton47Icône pour un bouton standard Discard dans une page QDialogButtonBox.
QStyle::SP_DialogYesButton48Icône pour un bouton standard Yes dans une page QDialogButtonBox.
QStyle::SP_DialogNoButton49Icône d'un bouton standard "Non" dans une page QDialogButtonBox.
QStyle::SP_ArrowUp50Icône flèche pointant vers le haut.
QStyle::SP_ArrowDown51Icône flèche pointant vers le bas.
QStyle::SP_ArrowLeft52Icône flèche pointant vers la gauche.
QStyle::SP_ArrowRight53Icône flèche pointant vers la droite.
QStyle::SP_ArrowBack54Équivalent à SP_ArrowLeft lorsque la direction de la mise en page actuelle est Qt::LeftToRight, sinon SP_ArrowRight.
QStyle::SP_ArrowForward55Équivalent à SP_ArrowRight lorsque la direction de la 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. Cette option renvoie une pixmap ou une icône nulle sur toutes les autres plates-formes.
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 le média doit commencer la lecture.
QStyle::SP_MediaStop62Icône indiquant que le média doit arrêter la lecture.
QStyle::SP_MediaPause63Icône indiquant que le média doit interrompre la lecture.
QStyle::SP_MediaSkipForward64Icône indiquant que le média doit passer à l'étape suivante.
QStyle::SP_MediaSkipBackward65Icône indiquant que le média doit sauter en arrière.
QStyle::SP_MediaSeekForward66Icône indiquant que le média doit chercher vers l'avant.
QStyle::SP_MediaSeekBackward67Icône indiquant que le média doit chercher en arrière.
QStyle::SP_MediaVolume68Icône indiquant une commande de volume.
QStyle::SP_MediaVolumeMuted69Icône indiquant une commande de volume en sourdine.
QStyle::SP_LineEditClearButton (since Qt 5.2)70Icône d'un bouton standard d'effacement dans un site QLineEdit.
QStyle::SP_DialogYesToAllButton (since Qt 5.14)71Icône d'un bouton standard YesToAll dans une page QDialogButtonBox.
QStyle::SP_DialogNoToAllButton (since Qt 5.14)72Icône d'un bouton standard NoToAll dans une page QDialogButtonBox.
QStyle::SP_DialogSaveAllButton (since Qt 5.14)73Icône d'un bouton standard SaveAll dans une page QDialogButtonBox.
QStyle::SP_DialogAbortButton (since Qt 5.14)74Icône pour un bouton standard Abort dans une page QDialogButtonBox.
QStyle::SP_DialogRetryButton (since Qt 5.14)75Icône pour un bouton standard Retry dans une page QDialogButtonBox.
QStyle::SP_DialogIgnoreButton (since Qt 5.14)76Icône pour un bouton standard Ignorer dans une page QDialogButtonBox.
QStyle::SP_RestoreDefaultsButton (since Qt 5.14)77Icône d'un bouton standard RestoreDefaults dans une page QDialogButtonBox.
QStyle::SP_TabCloseButton (since Qt 6.3)78Icône du bouton de fermeture dans l'onglet d'une page QTabBar.
QStyle::SP_CustomBase0xf0000000Valeur de base pour les pixmaps standard personnalisés ; les valeurs personnalisées doivent être supérieures à cette valeur.

Voir également standardIcon().

enum QStyle::StateFlag
flags QStyle::State

Cette énumération décrit les drapeaux utilisés pour dessiner les éléments primitifs.

Notez que toutes les primitives n'utilisent pas tous ces drapeaux et que les drapeaux peuvent avoir des significations différentes selon les éléments.

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 d'élévation automatique doit être utilisée sur un bouton d'outil.
QStyle::State_Children0x00080000Permet d'indiquer si une branche de vue d'élément a des enfants.
QStyle::State_DownArrow0x00000040Permet d'indiquer si une flèche vers le bas doit être visible sur le widget.
QStyle::State_Editing0x00400000Déclassé. N'est plus utilisé car l'éditeur est dessiné sur la cellule de la vue d'élément.
QStyle::State_Enabled0x00000001Permet d'indiquer si le widget est activé.
QStyle::State_HasEditFocus0x01000000Utilisé pour indiquer si le widget a actuellement le focus d'édition.
QStyle::State_HasFocus0x00000100Utilisé pour indiquer si le widget a le focus.
QStyle::State_Horizontal0x00000080Permet d'indiquer si le widget est disposé horizontalement, par exemple dans une barre d'outils.
QStyle::State_KeyboardFocusChange0x00800000Permet d'indiquer si le focus a été modifié à l'aide du clavier, par exemple par tabulation, backtab ou raccourci.
QStyle::State_MouseOver0x00002000Indique si le widget se trouve sous la souris.
QStyle::State_NoChange0x00000010Utilisé pour indiquer une case à cocher à trois états.
QStyle::State_Off0x00000008Permet d'indiquer si le widget n'est pas coché.
QStyle::State_On0x00000020Permet d'indiquer si le widget est coché.
QStyle::State_Raised0x00000002Permet d'indiquer si un bouton est levé.
QStyle::State_ReadOnly0x02000000Permet d'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'arbre est ouverte.
QStyle::State_Sibling0x00200000Utilisé par les vues d'éléments pour indiquer si une ligne verticale doit être tracée (pour les frères et sœurs).
QStyle::State_Sunken0x00000004Utilisé pour indiquer si le widget est enfoncé ou pressé.
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 Mac de style mini.
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 OU de valeurs StateFlag.

Voir également drawPrimitive().

enum QStyle::StyleHint

Cette énumération décrit les conseils de style disponibles. Un indice de style est un indice général d'apparence et/ou de convivialité.

ConstanteValeurDescription
QStyle::SH_EtchDisabledText0Le texte désactivé est "gravé" comme sous Windows.
QStyle::SH_DitherDisabledText1Le texte désactivé est dithered comme sous Motif.
QStyle::SH_ScrollBar_ContextMenu62La barre de défilement dispose ou non d'un menu contextuel.
QStyle::SH_ScrollBar_MiddleClickAbsolutePosition2Valeur booléenne. Si c'est vrai, un clic au milieu d'une barre de défilement fait sauter le curseur à cette position. Si false, le clic au milieu 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. S'il est faux, le clic gauche se comportera comme il convient pour chaque contrôle.
QStyle::SH_ScrollBar_ScrollWhenPointerLeavesControl3Une valeur booléenne. Si la valeur est vraie, lorsque l'on clique sur une barre de défilement SubControl, que l'on maintient le bouton de la souris enfoncé et que l'on déplace le pointeur en dehors de SubControl, la barre de défilement continue de défiler. Si elle est fausse, la barre de défilement cesse de défiler lorsque le pointeur quitte la barre de défilement SubControl.
QStyle::SH_ScrollBar_RollBetweenButtons63Valeur booléenne. Si elle est vraie, le fait de cliquer sur un bouton de la barre de défilement (SC_ScrollBarAddLine ou SC_ScrollBarSubLine) et de faire glisser le curseur sur le bouton opposé (roulement) permet d'appuyer sur le nouveau bouton et de relâcher l'ancien. Si elle est fausse, le bouton d'origine est relâché et rien ne se passe (comme un bouton poussoir).
QStyle::SH_TabBar_Alignment5L'alignement des onglets dans une page 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 Qt::Alignment (c'est-à-dire une combinaison OU de drapeaux Qt::AlignmentFlag ).
QStyle::SH_Slider_SnapToValue7Les curseurs se fixent sur les valeurs lorsqu'ils sont déplacés, comme c'est le cas sous Windows.
QStyle::SH_Slider_SloppyKeyEvents8Les pressions sur les touches sont gérées de manière négligée, c'est-à-dire qu'une pression à gauche sur un curseur vertical entraîne la soustraction d'une ligne.
QStyle::SH_ProgressDialog_CenterCancelButton9Centrer le bouton dans les boîtes de dialogue de progression, sinon l'aligner à droite.
QStyle::SH_ProgressDialog_TextLabelAlignment10Alignement des étiquettes de texte 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 menu et le dockarea, comme sous Windows.
QStyle::SH_FontDialog_SelectAssociatedText13Sélectionner le texte dans l'édition de ligne, ou lors de la sélection d'un élément dans la zone de liste, ou lorsque l'édition de ligne reçoit le focus, comme c'est le cas sous Windows.
QStyle::SH_Menu_KeyboardSearch66La saisie entraîne la recherche des éléments pertinents dans le menu, sinon seule la mnémonique est prise en compte.
QStyle::SH_Menu_AllowActiveAndDisabled14Permet aux éléments de menu désactivés d'être actifs.
QStyle::SH_Menu_SpaceActivatesItem15L'appui sur la barre d'espacement active l'élément, comme sous Motif.
QStyle::SH_Menu_SubMenuPopupDelay16Le nombre de millisecondes à attendre avant d'ouvrir un sous-menu (256 sous Windows, 96 sous Motif).
QStyle::SH_Menu_Scrollable30Si les menus contextuels doivent prendre en charge le défilement.
QStyle::SH_Menu_SloppySubMenus33Les menus déroulants doivent-ils permettre à l'utilisateur de déplacer le curseur de la souris vers un sous-menu tout en traversant d'autres éléments du menu ? Cette fonction est prise en charge sur la plupart des plates-formes 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 sur macOS), ou si le curseur peut se déplacer dans n'importe quelle direction tant qu'il atteint le sous-menu avant le délai d'attente.
QStyle::SH_Menu_SubMenuUniDirectionFailCount106Depuis Qt 5.5. Lorsque SH_Menu_SubMenuUniDirection est défini, cet enum définit le nombre de mouvements de souris échoués avant que le sous-menu négligé ne soit abandonné. Ceci peut être utilisé pour contrôler la "rigueur" de l'algorithme d'uni-direction.
QStyle::SH_Menu_SubMenuSloppySelectOtherActions107Depuis Qt 5.5. D'autres actions doivent-elles être sélectionnées lorsque la souris se déplace vers un sous-menu incomplet ?
QStyle::SH_Menu_SubMenuSloppyCloseTimeout108Depuis Qt 5.5. Le délai d'attente utilisé pour fermer les sous-menus négligés.
QStyle::SH_Menu_SubMenuResetWhenReenteringParent109Depuis Qt 5.5. Lorsque l'on entre dans un sous-menu parent à partir d'un sous-menu enfant, l'état "sloppy" doit-il être réinitialisé, ce qui a pour effet de fermer le sous-menu enfant et de rendre le sous-menu actuel actif ?
QStyle::SH_Menu_SubMenuDontStartSloppyOnLeave110Depuis Qt 5.5. Ne pas démarrer les minuteries sloppy lorsque la souris quitte un sous-menu.
QStyle::SH_ScrollView_FrameOnlyAroundContents17Si les scrollviews dessinent leur cadre uniquement autour du contenu (comme Motif), ou autour du contenu, des barres de défilement et des widgets d'angle (comme Windows).
QStyle::SH_MenuBar_AltKeyNavigation18Les éléments des barres de menu sont navigables en appuyant sur 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 combobox, l'élément sous le curseur devient l'élément courant (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 combobox, l'élément sous le curseur n'est pas l'élément courant, il est seulement actif (QStyle::State_MouseOver).
QStyle::SH_Menu_MouseTracking20Suivi de la souris dans les menus déroulants.
QStyle::SH_MenuBar_MouseTracking21Suivi de la souris dans les barres de menu.
QStyle::SH_Menu_FillScreenWithScroll45Les fenêtres contextuelles déroulantes doivent-elles remplir l'écran au fur et à mesure qu'elles défilent ?
QStyle::SH_Menu_SelectionWrap73Les fenêtres contextuelles doivent-elles permettre aux sélections de s'enrouler, c'est-à-dire que, lors de la sélection, l'élément suivant doit être le premier élément ?
QStyle::SH_ItemView_ChangeHighlightOnFocus22Griser les éléments sélectionnés lorsque l'on perd le focus.
QStyle::SH_Widget_ShareActivation23Activer le partage avec les boîtes de dialogue flottantes sans modèle.
QStyle::SH_TabBar_SelectMouseType4Quel type d'événement 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 d'une extension de la vue en liste.
QStyle::SH_TabBar_PreferNoArrows38Si une barre d'onglets doit suggérer une taille pour éviter les flèches de défilement.
QStyle::SH_ComboBox_Popup25Autorise les popups en tant que menu déroulant d'une boîte combobox.
QStyle::SH_Workspace_FillSpaceOnMaximize24L'espace de travail doit maximiser la zone client.
QStyle::SH_TitleBar_NoBorder26La barre de titre n'a pas de bordure.
QStyle::SH_Slider_StopMouseOverSlider27Arrête 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_FullWidthSelection29Les sélections de texte doivent-elles s'étendre sur toute la largeur du document ?
QStyle::SH_GroupBox_TextLabelVerticalAlignment31Comment aligner verticalement l'étiquette de texte d'un cadre.
QStyle::SH_GroupBox_TextLabelColor32Comment peindre l'étiquette de texte d'un cadre.
QStyle::SH_DialogButtons_DefaultButton36Quel bouton obtient le statut par défaut dans le widget de boutons d'une boîte de dialogue.
QStyle::SH_ToolBox_SelectedPageTitleBold37Caractère gras du titre de la page sélectionnée dans une page QToolBox.
QStyle::SH_LineEdit_PasswordCharacter35Le caractère Unicode à utiliser pour les mots de passe.
QStyle::SH_LineEdit_PasswordMaskDelay103Détermine le délai avant que le caractère visible ne soit masqué par le caractère du mot de passe, en millisecondes. 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_UnderlineShortcut41Si les raccourcis sont soulignés.
QStyle::SH_SpinBox_AnimateButton42Animer un clic lorsque l'on appuie sur le haut ou le bas d'une boîte de rotation.
QStyle::SH_SpinBox_KeyPressAutoRepeatRate43Intervalle de répétition automatique pour les pressions sur les touches de la boîte à outils.
QStyle::SH_SpinBox_ClickAutoRepeatRate44Intervalle de répétition automatique pour les clics de souris dans la boîte à outils.
QStyle::SH_SpinBox_ClickAutoRepeatThreshold83Seuil de répétition automatique pour les clics de souris dans la spinbox.
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_Opacity46Un nombre entier indiquant l'opacité de l'étiquette de la pointe, 0 est complètement transparent, 255 est complètement opaque.
QStyle::SH_DrawMenuBarSeparator47Indique si la barre de menu dessine ou non des séparateurs.
QStyle::SH_TitleBar_ModifyNotification48Indique si la barre de titre doit afficher un "*" pour les fenêtres modifiées.
QStyle::SH_Button_FocusPolicy49Politique de mise au point par défaut pour les boutons.
QStyle::SH_CustomBase0xf0000000Valeur de base pour les indications de style personnalisées. 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 message.
QStyle::SH_MessageBox_CenterButtons72Un booléen indiquant si les boutons de la boîte de message doivent être centrés ou non (voir QDialogButtonBox::setCentered()).
QStyle::SH_MessageBox_TextInteractionFlags70Un booléen indiquant si le texte d'une boîte de message doit permettre des interactions avec 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 être mis à jour lorsque la souris se trouve au-dessus d'eux.
QStyle::SH_ToolButton_PopupDelay52Un int indiquant le délai d'affichage en millisecondes des menus attachés aux boutons d'outils.
QStyle::SH_FocusFrame_Mask53Le masque du cadre de mise au point.
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 commandes de rotation doivent être désactivées lorsqu'elles atteignent la limite de la plage de rotation.
QStyle::SH_Dial_BackgroundRole57Définit le rôle d'arrière-plan préféré du style (comme QPalette::ColorRole) pour un widget de cadran.
QStyle::SH_ComboBox_LayoutDirection58La direction de la mise en page de la boîte combo. Par défaut, elle doit être la même que celle indiquée par la variable QStyleOption::direction.
QStyle::SH_ItemView_EllipsisLocation59L'emplacement où les ellipses doivent être ajoutées pour le texte d'un élément qui est trop long pour tenir dans un élément de la vue.
QStyle::SH_ItemView_ShowDecorationSelected60Lorsqu'un élément d'une vue d'élément est sélectionné, mettre également en évidence la branche ou toute autre décoration.
QStyle::SH_ItemView_ActivateItemOnSingleClick61Émettre le signal activé lorsque l'utilisateur clique une seule fois sur un élément dans une vue d'élément. Sinon, le signal est émis lorsque l'utilisateur double-clique sur un élément.
QStyle::SH_Slider_AbsoluteSetButtons64Quels sont les boutons de la souris qui permettent à un curseur de fixer la valeur à la position cliquée.
QStyle::SH_Slider_PageSetButtons65Les boutons de la souris qui permettent à un curseur de faire défiler la valeur.
QStyle::SH_TabBar_ElideMode67Le style d'élidage par défaut pour une barre d'onglets.
QStyle::SH_DialogButtonLayout68Contrôle la disposition des boutons dans une page QDialogButtonBox, renvoie une énumération QDialogButtonBox::ButtonLayout.
QStyle::SH_WizardStyle78Contrôle l'aspect et la convivialité d'une page QWizard, renvoie une énumération QWizard::WizardStyle.
QStyle::SH_FormLayoutWrapPolicy85Fournit une valeur par défaut pour la façon dont les lignes sont enveloppées dans un fichier QFormLayout. Renvoie une énumération QFormLayout::RowWrapPolicy.
QStyle::SH_FormLayoutFieldGrowthPolicy88Fournit une valeur par défaut pour la façon dont les champs peuvent croître dans un QFormLayout. Retourne une énumération QFormLayout::FieldGrowthPolicy.
QStyle::SH_FormLayoutFormAlignment89Fournit une valeur par défaut pour l'alignement du contenu d'une page QFormLayout dans l'espace disponible. Renvoie une énumération Qt::Alignment.
QStyle::SH_FormLayoutLabelAlignment90Fournit une valeur par défaut pour la façon dont QFormLayout aligne les étiquettes dans l'espace disponible. Renvoie une énumération Qt::Alignment.
QStyle::SH_ItemView_ArrowKeysNavigateIntoChildren79Contrôle si l'arborescence sélectionne le premier enfant lorsqu'elle est développée et que l'on appuie sur la touche de flèche droite.
QStyle::SH_ComboBox_PopupFrameStyle69Style de cadre utilisé lors de l'affichage d'un menu contextuel de type combobox.
QStyle::SH_DialogButtonBox_ButtonsHaveIcons71Indique si les boutons standard de QDialogButtonBox doivent avoir des icônes ou non.
QStyle::SH_ItemView_MovementWithoutUpdatingSelection74La vue des éléments est capable d'indiquer un élément courant sans modifier la sélection.
QStyle::SH_ToolTip_Mask75Le masque d'une bulle d'aide.
QStyle::SH_FocusFrame_AboveWidget76Le FocusFrame est empilé au-dessus du widget sur lequel il se concentre.
QStyle::SH_TextControl_FocusIndicatorTextCharFormat77Spécifie le format de texte utilisé pour mettre en évidence les ancres focalisées dans les documents à texte riche affichés par exemple sur QTextBrowser. Le format doit être un QTextCharFormat renvoyé dans la variante de la valeur de retour 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 évidence.
QStyle::SH_Menu_FlashTriggeredItem81Élément déclenché par Flash.
QStyle::SH_Menu_FadeOutOnHide82Le menu disparaît en fondu au lieu d'être masqué 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 mobile par défaut.
QStyle::SH_ItemView_PaintAlternatingRowColorsForEmptyArea84Indique si QTreeView peint des couleurs de ligne alternées pour la zone qui ne contient pas d'éléments.
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 d'un onglet dans une barre d'onglets.
QStyle::SH_DockWidget_ButtonsHaveFrame93Détermine si les boutons du dockwidget doivent avoir des cadres. La valeur par défaut est "true".
QStyle::SH_ToolButtonStyle94Détermine le style système par défaut pour les boutons d'outils qui utilise 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 transitoires. Les barres de défilement transitoires apparaissent lorsque le contenu est défilé et disparaissent lorsqu'elles ne sont plus nécessaires.
QStyle::SH_Menu_SupportsSections97Détermine si le style affiche les sections dans les menus ou s'il les traite comme de simples séparateurs. Les sections sont des séparateurs accompagnés d'un texte et d'une icône.
QStyle::SH_ToolTip_WakeUpDelay98Détermine le délai d'affichage d'une info-bulle, en millisecondes.
QStyle::SH_ToolTip_FallAsleepDelay99Détermine le délai (en millisecondes) avant qu'un nouveau réveil soit nécessaire lorsqu'une info-bulle est affichée (remarque : affichée, pas cachée). Lorsqu'un nouveau réveil n'est pas nécessaire, l'info-bulle demandée par l'utilisateur est affichée presque instantanément.
QStyle::SH_Widget_Animate100Déclassé. Utilisez SH_Widget_Animation_Duration à la place.
QStyle::SH_Splitter_OpaqueResize101Détermine si les widgets sont redimensionnés dynamiquement (de manière opaque) lors du déplacement interactif du séparateur. Cette valeur a été introduite dans Qt 5.2.
QStyle::SH_TabBar_ChangeCurrentDelay104Détermine le délai avant que l'onglet actuel ne soit modifié lorsque l'on glisse sur la barre d'onglets, en millisecondes. Cette valeur a été introduite dans Qt 5.4.
QStyle::SH_ItemView_ScrollMode111Le mode de défilement vertical et horizontal par défaut, tel que spécifié par le style. Peut être remplacé par QAbstractItemView::setVerticalScrollMode() et QAbstractItemView::setHorizontalScrollMode(). Cette valeur a été introduite dans Qt 5.7.
QStyle::SH_TitleBar_ShowToolTipsOnButtons112Détermine si les info-bulles sont affichées sur les boutons de la barre de titre de la fenêtre. Le style Mac, par exemple, fixe cette valeur à false. Cette valeur 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 sont désactivées. Cette valeur 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 l'intérieur d'une page QComboBox. Cette fonction est activée par défaut dans tous les styles, à l'exception du style Mac. Cette valeur a été introduite dans Qt 5.10.
QStyle::SH_SpinBox_ButtonsInsideFrame115Détermine si les boutons de la boîte à outils se trouvent à l'intérieur du cadre d'édition de ligne. Cette valeur a été introduite dans Qt 5.11.
QStyle::SH_SpinBox_StepModifier116Détermine la valeur de Qt::KeyboardModifier qui augmente la vitesse de défilement de QAbstractSpinBox. Les valeurs possibles sont Qt::NoModifier, Qt::ControlModifier (par défaut) ou Qt::ShiftModifier. Qt::NoModifier désactive cette fonction. Cette valeur 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'une page QTabBar. Cette valeur a été introduite dans Qt 6.1.
QStyle::SH_Table_AlwaysDrawLeftTopGridLines118Détermine si les lignes gauche et supérieure de la grille sont dessinées ou non dans un tableau lorsque l'en-tête est caché. La valeur par défaut est false. Cette valeur a été introduite dans Qt 6.3.

Voir aussi 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 à l'intérieur d'un contrôle complexe (ComplexControl).

ConstanteValeurDescription
QStyle::SC_None0x00000000Valeur spéciale qui ne correspond à aucun autre sous-contrôle.
QStyle::SC_ScrollBarAddLine0x00000001Ligne supplémentaire de la barre de défilement (c'est-à-dire flèche vers le bas/droite) ; voir également QScrollBar.
QStyle::SC_ScrollBarSubLine0x00000002Sous-ligne de la barre de défilement (flèche vers le haut/la gauche).
QStyle::SC_ScrollBarAddPage0x00000004Barre de défilement d'une page supplémentaire (c.-à-d. page précédente).
QStyle::SC_ScrollBarSubPage0x00000008Barre de défilement sous-page (c.-à-d. page précédente).
QStyle::SC_ScrollBarFirst0x00000010Barre de défilement première ligne (c.-à-d., accueil).
QStyle::SC_ScrollBarLast0x00000020Barre de défilement dernière ligne (c.-à-d. fin).
QStyle::SC_ScrollBarSlider0x00000040Poignée du curseur de la barre de défilement.
QStyle::SC_ScrollBarGroove0x00000080Sous-contrôle spécial qui contient la zone dans laquelle la poignée de la barre de défilement peut se déplacer.
QStyle::SC_SpinBoxUp0x00000001Faire tourner le widget vers le haut/augmenter ; voir également QSpinBox.
QStyle::SC_SpinBoxDown0x00000002Faire tourner le widget vers le bas/diminuer.
QStyle::SC_SpinBoxFrame0x00000004Cadre du widget de rotation.
QStyle::SC_SpinBoxEditField0x00000008Champ d'édition du widget de rotation.
QStyle::SC_ComboBoxEditField0x00000002Champ d'édition du Combobox ; voir également QComboBox.
QStyle::SC_ComboBoxArrow0x00000004Bouton fléché du Combobox.
QStyle::SC_ComboBoxFrame0x00000001Cadre de la boîte combinée.
QStyle::SC_ComboBoxListBoxPopup0x00000008Rectangle de référence pour la fenêtre contextuelle de la boîte combinée. Utilisé pour calculer la position de la fenêtre contextuelle.
QStyle::SC_SliderGroove0x00000001Sous-contrôle spécial qui contient la zone dans laquelle la poignée du curseur peut se déplacer.
QStyle::SC_SliderHandle0x00000002Poignée du curseur.
QStyle::SC_SliderTickmarks0x00000004Marqueurs de la barre de défilement.
QStyle::SC_ToolButton0x00000001Bouton d'outil (voir également QToolButton).
QStyle::SC_ToolButtonMenu0x00000002Sous-contrôle permettant d'ouvrir un menu contextuel dans un bouton d'outil.
QStyle::SC_TitleBarSysMenu0x00000001Bouton du menu système (restauration, fermeture, etc.).
QStyle::SC_TitleBarMinButton0x00000002Bouton de minimisation.
QStyle::SC_TitleBarMaxButton0x00000004Bouton d'agrandissement.
QStyle::SC_TitleBarCloseButton0x00000008Bouton de fermeture.
QStyle::SC_TitleBarLabel0x00000100Étiquette de titre de la fenêtre.
QStyle::SC_TitleBarNormalButton0x00000010Bouton normal (restauration).
QStyle::SC_TitleBarShadeButton0x00000020Bouton d'ombrage.
QStyle::SC_TitleBarUnshadeButton0x00000040Bouton de déteinte.
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'un cadre de groupe.
QStyle::SC_GroupBoxLabel0x00000002Le titre d'un cadre.
QStyle::SC_GroupBoxCheckBox0x00000001La case à cocher facultative d'un cadre.
QStyle::SC_GroupBoxContents0x00000004Le contenu du cadre.
QStyle::SC_MdiNormalButton0x00000002Le bouton normal pour une sous-fenêtre MDI dans la barre de menu.
QStyle::SC_MdiMinButton0x00000001Le bouton de minimisation 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 menu.
QStyle::SC_All0xffffffffValeur spéciale qui correspond à tous les sous-contrôles.

Le type Sous-contrôle est un typedef pour QFlags<Sous-contrôle>. Il stocke une combinaison OU de valeurs de sous-contrôle.

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 pixmap).
QStyle::SE_PushButtonFocusRect1Zone pour le rectangle de mise au point (généralement plus grande que le rectangle de contenu).
QStyle::SE_PushButtonLayoutItem37Zone qui compte pour la mise en page parentale.
QStyle::SE_PushButtonBevel56[Zone utilisée pour le biseau du bouton.
QStyle::SE_CheckBoxIndicator2Zone pour l'indicateur d'état (par exemple, une coche).
QStyle::SE_CheckBoxContents3Zone pour l'étiquette (texte ou pixmap).
QStyle::SE_CheckBoxFocusRect4Zone pour l'indicateur de mise au point.
QStyle::SE_CheckBoxClickRect5Zone cliquable, par défaut SE_CheckBoxFocusRect.
QStyle::SE_CheckBoxLayoutItem32Zone qui compte pour la disposition parentale.
QStyle::SE_DateTimeEditLayoutItem34Zone qui compte pour la mise en page parentale.
QStyle::SE_RadioButtonIndicator6Zone pour l'indicateur d'état.
QStyle::SE_RadioButtonContents7Zone pour l'étiquette.
QStyle::SE_RadioButtonFocusRect8Zone pour l'indicateur de mise au point.
QStyle::SE_RadioButtonClickRect9Zone cliquable, par défaut SE_RadioButtonFocusRect.
QStyle::SE_RadioButtonLayoutItem38Zone qui compte pour la mise en page parente.
QStyle::SE_ComboBoxFocusRect10Zone pour l'indicateur de mise au point.
QStyle::SE_SliderFocusRect11Zone pour l'indicateur de mise au point.
QStyle::SE_SliderLayoutItem39Zone qui compte pour la mise en page parentale.
QStyle::SE_SpinBoxLayoutItem40Zone qui compte pour la mise en page parentale.
QStyle::SE_ProgressBarGroove12Zone pour la rainure.
QStyle::SE_ProgressBarContents13Zone pour l'indicateur de progression.
QStyle::SE_ProgressBarLabel14Zone pour l'étiquette de texte.
QStyle::SE_ProgressBarLayoutItem36Zone qui compte pour la mise en page parente.
QStyle::SE_FrameContents27Zone pour le contenu d'un cadre.
QStyle::SE_ShapedFrameContents51Zone pour le contenu d'un cadre en utilisant la forme dans QStyleOptionFrame; voir QFrame
QStyle::SE_FrameLayoutItem42Zone qui compte pour la mise en page parente.
QStyle::SE_HeaderArrow17Zone pour l'indicateur de tri d'un en-tête.
QStyle::SE_HeaderLabel16Zone pour l'étiquette dans un en-tête.
QStyle::SE_LabelLayoutItem35Zone qui compte pour la mise en page parente.
QStyle::SE_LineEditContents26Zone pour le contenu d'une ligne d'édition.
QStyle::SE_TabWidgetLeftCorner21Zone pour le widget du coin gauche dans un widget d'onglet.
QStyle::SE_TabWidgetRightCorner22Zone pour le widget du coin droit dans un widget d'onglet.
QStyle::SE_TabWidgetTabBar18Zone pour le widget de la barre d'onglets dans un widget d'onglets.
QStyle::SE_TabWidgetTabContents20Zone pour le contenu du widget d'onglet.
QStyle::SE_TabWidgetTabPane19Zone pour le volet d'un widget d'onglet.
QStyle::SE_TabWidgetLayoutItem44Zone qui compte pour la mise en page parente.
QStyle::SE_ToolBoxTabContents15Zone pour l'icône et l'étiquette d'un onglet de boîte à outils.
QStyle::SE_ToolButtonLayoutItem41Zone qui compte pour la mise en page parente.
QStyle::SE_ItemViewItemCheckIndicator23Zone pour la coche d'un élément d'affichage.
QStyle::SE_TabBarTearIndicator24Obsolète. Utilisez SE_TabBarTearIndicatorLeft à la place.
QStyle::SE_TabBarTearIndicatorLeftSE_TabBarTearIndicatorZone pour l'indicateur de déchirure sur le côté gauche d'une barre d'onglets avec flèches de défilement.
QStyle::SE_TabBarTearIndicatorRight55Zone pour l'indicateur de déchirure sur le côté droit d'une barre d'onglets avec flèches de défilement.
QStyle::SE_TabBarScrollLeftButton53Zone pour le bouton de défilement gauche d'une barre d'onglets avec boutons de défilement.
QStyle::SE_TabBarScrollRightButton54Zone pour le bouton de défilement vers la droite sur une barre d'onglets comportant des boutons de défilement.
QStyle::SE_TreeViewDisclosureItem25Zone pour l'élément d'information proprement dit dans une branche d'arbre.
QStyle::SE_GroupBoxLayoutItem43Zone qui compte pour la mise en page parentale.
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 dock.
QStyle::SE_DockWidgetTitleBarText30Les limites du texte du titre du widget dock.
QStyle::SE_DockWidgetCloseButton28Le bouton de fermeture d'un widget dock.
QStyle::SE_DockWidgetIcon31L'icône d'un widget dock.
QStyle::SE_ComboBoxLayoutItem33Zone qui compte pour la mise en page parentale.
QStyle::SE_ItemViewItemDecoration45Zone pour la décoration (icône) d'un élément d'affichage.
QStyle::SE_ItemViewItemText46Zone pour le texte d'un élément d'affichage.
QStyle::SE_ItemViewItemFocusRect47Zone pour le rectangle de mise au point d'un élément d'affichage.
QStyle::SE_TabBarTabLeftButton48Zone pour un widget situé à gauche d'un onglet dans une barre d'onglets.
QStyle::SE_TabBarTabRightButton49Zone pour un widget sur le côté droit d'un onglet dans une barre d'onglets.
QStyle::SE_TabBarTabText50Zone pour le texte d'un onglet dans une barre d'onglets.
QStyle::SE_ToolBarHandle52Zone pour la poignée d'une barre d'outils.

Voir également subElementRect().

Documentation des fonctions membres

QStyle::QStyle()

Construit un objet de style.

[virtual noexcept] QStyle::~QStyle()

Détruit l'objet style.

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

Renvoie un nouveau rectangle de l'adresse size spécifiée qui est aligné sur l'adresse rectangle donnée selon les adresses alignment et direction spécifiées.

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 présentation. orientation spécifie si les contrôles sont disposés côte à côte ou empilés verticalement. Le paramètre option peut être utilisé pour 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 des combinaisons OU de zéro 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 aussi layoutSpacing().

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

Dessine l'objet control en utilisant l'objet painter avec les options de style spécifiées par option.

L'argument widget est facultatif et peut être utilisé pour aider à dessiner le contrôle.

Le paramètre option est un pointeur sur un objet QStyleOptionComplex qui peut être converti dans la sous-classe correcte à l'aide de la fonction qstyleoption_cast(). Notez que le membre rect de l'objet option spécifié doit être 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'option de style associée. Les options de style contiennent tous les paramètres nécessaires pour dessiner les contrôles, y compris QStyleOption::state qui contient les style flags utilisés lors du dessin. Le tableau décrit également les drapeaux qui sont activés lors du moulage de l'élément option dans la sous-classe appropriée.

Contrôle complexeQStyleOptionComplex Sous-classeDrapeau de styleRemarque
CC_SpinBoxQStyleOptionSpinBoxState_EnabledDéfini si la boîte à outils est activée.
State_HasFocusDéfini si la boîte à boutons a le focus d'entrée.
CC_ComboBoxQStyleOptionComboBoxState_EnabledIndique si la boîte combinée est activée.
State_HasFocusDéfinit si le combobox a le focus d'entrée.
CC_ScrollBarQStyleOptionSliderState_EnabledDéfinir si la barre de défilement est activée.
State_HasFocusDéfinir si la barre de défilement a la priorité de saisie.
CC_SliderQStyleOptionSliderState_EnabledDéfinir si le curseur est activé.
State_HasFocusDéfinir si la barre de défilement est activée.
CC_DialQStyleOptionSliderState_EnabledDéfinir si le cadran est activé.
State_HasFocusDéfinir si le cadran est centré sur la saisie.
CC_ToolButtonQStyleOptionToolButtonState_EnabledDéfinir si le bouton d'outil est activé.
State_HasFocusDéfinir si le bouton de l'outil a la priorité d'entrée.
State_DownArrowDéfinit si le bouton de l'outil est enfoncé (c'est-à-dire si un bouton de la souris ou la barre d'espacement est enfoncé).
State_OnDéfinit si le bouton d'outil est un bouton à bascule et s'il est activé.
State_AutoRaiseDéfini si le bouton de l'outil a une fonction d'élévation automatique activée.
State_RaisedDéfini si le bouton n'est pas abaissé, n'est pas activé et ne contient pas la souris lorsque l'élévation automatique est activée.
CC_TitleBarQStyleOptionTitleBarState_EnabledDéfini 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'objet element avec l'objet painter et les options de style spécifiées par option.

L'argument widget est facultatif et peut être utilisé pour aider à dessiner le contrôle. Le paramètre option est un pointeur sur un objet QStyleOption qui peut être converti dans la sous-classe correcte à l'aide de la fonction qstyleoption_cast().

Le tableau ci-dessous répertorie les éléments de contrôle et leur sous-classe d'option de style associée. Les options de style contiennent tous les paramètres nécessaires pour dessiner les contrôles, y compris QStyleOption::state qui contient les drapeaux de style utilisés lors du dessin. Le tableau décrit également les drapeaux qui sont activés lors de l'attribution de l'option donnée à la sous-classe appropriée.

Notez que si un élément de contrôle n'est pas listé ici, c'est parce qu'il utilise un simple objet QStyleOption.

Élément de contrôleQStyleOption Sous-classeIndicateur de styleRemarque
CE_MenuItem, CE_MenuBarItemQStyleOptionMenuItemState_SelectedL'élément de menu est l'élément actuellement sélectionné.
State_EnabledL'élément est activé.
State_DownArrowIndique qu'une flèche de défilement vers le bas doit être dessinée.
State_UpArrowIndique qu'une flèche de défilement vers le haut doit être dessinée.
State_HasFocusDéfinit si la barre de menu a le focus d'entrée.
CE_PushButton, CE_PushButtonBevel, CE_PushButtonLabelQStyleOptionButtonState_EnabledIndique si le bouton est activé.
State_HasFocusDéfinit si le bouton a le focus d'entrée.
State_RaisedDéfini si le bouton n'est pas en bas, n'est pas activé et n'est pas plat.
State_OnDéfini si le bouton est un bouton à bascule et s'il est activé.
State_SunkenDéfini si le bouton est enfoncé (c'est-à-dire si le bouton de la souris ou la barre d'espacement est enfoncé sur le bouton).
CE_RadioButton, CE_RadioButtonLabel, CE_CheckBox, CE_CheckBoxLabelQStyleOptionButtonState_EnabledDéfinit si le bouton est activé.
State_HasFocusDéfinit si le bouton a le focus d'entrée.
State_OnDéfinit si le bouton est vérifié.
State_OffDéfinit si le bouton n'est pas vérifié.
State_NoChangeDéfini si le bouton est dans l'état NoChange.
State_SunkenDéfini si le bouton est enfoncé (c'est-à-dire si le bouton de la souris ou la barre d'espacement est enfoncé sur le bouton).
CE_ProgressBarContents, CE_ProgressBarLabel, CE_ProgressBarGrooveQStyleOptionProgressBarState_EnabledDéfinit si la barre de progression est activée.
State_HasFocusDéfinit si la barre de progression a le focus d'entrée.
CE_Header, CE_HeaderSection, CE_HeaderLabelQStyleOptionHeader
CE_TabBarTab, CE_TabBarTabShape, CE_TabBarTabLabelQStyleOptionTabState_EnabledDéfinit si la barre d'onglets est activée.
State_SelectedLa barre d'onglets est la barre d'onglets actuellement sélectionnée.
State_HasFocusDéfinit si l'onglet de la barre d'onglets a la priorité de saisie.
CE_ToolButtonLabelQStyleOptionToolButtonState_EnabledDéfinit si le bouton d'outil est activé.
State_HasFocusDéfinit si le bouton d'outil a la priorité de saisie.
State_SunkenDéfini si le bouton de l'outil est enfoncé (c'est-à-dire si un bouton de la souris ou la barre d'espacement est enfoncé).
State_OnDéfinit si le bouton d'outil est un bouton à bascule et s'il est activé.
State_AutoRaiseDéfini si le bouton de l'outil a une fonction d'élévation automatique activée.
State_MouseOverDéfini si le pointeur de la souris est au-dessus du bouton de l'outil.
State_RaisedDéfini si le bouton n'est pas abaissé 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 être orienté vers le haut.
State_DownArrowIndique que l'indicateur de tri doit être orienté 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'objet pixmap dans l'objet rectangle, selon l'objet alignment, en utilisant l'objet painter.

Voir aussi 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 le texte donné text dans l'espace spécifié rectangle en utilisant les éléments fournis painter et palette.

Le texte est dessiné à l'aide de la plume du peintre, aligné et enveloppé conformément à alignment. Si un textRole explicite est spécifié, le texte est dessiné en utilisant la couleur du 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 devrait influencer la manière dont l'élément est dessiné.

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 l'élément primitif donné element avec l'élément fourni painter en utilisant les options de style spécifiées par option.

L'argument widget est facultatif et peut contenir un widget qui peut aider à dessiner 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 pour dessiner les éléments, y compris QStyleOption::state qui contient les drapeaux de style utilisés lors du dessin. Le tableau décrit également les drapeaux qui sont activés lors du moulage de l'option donnée dans la sous-classe appropriée.

Notez que si un élément primitif n'est pas listé ici, c'est parce qu'il utilise un simple objet QStyleOption.

Élément primitifQStyleOption Sous-classeDrapeau 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 "tri-state".
State_EnabledIndique que le contrôleur est activé.
PE_IndicatorBranchQStyleOptionState_ChildrenIndique que le contrôle permettant de développer l'arbre pour afficher les éléments enfants doit être dessiné.
State_ItemIndique qu'une branche horizontale (pour afficher un élément enfant) doit être dessinée.
State_OpenIndique que la branche de l'arbre est développée.
State_SiblingIndique qu'une ligne verticale (pour montrer un élément frère) doit être dessinée.
PE_IndicatorHeaderArrowQStyleOptionHeaderState_UpArrowIndique que la flèche doit être dessinée vers le haut ; sinon, elle doit être dessinée vers le bas.
PE_FrameGroupBoxLA FLÈCHE DOIT ÊTRE ORIENTÉE VERS LE HAUT OU VERS LE BAS : PE_Frame, PE_FrameLineEdit, PE_FrameMenu, PE_FrameDockWidget, PE_FrameWindowQStyleOptionFrameState_SunkenIndique que le cadre doit être enfoncé.
PE_IndicatorToolBarHandleQStyleOptionState_HorizontalIndique que la poignée de la fenêtre est horizontale et non verticale.
PE_IndicatorSpinPlus, PE_IndicatorSpinMinus, PE_IndicatorSpinUp, PE_IndicatorSpinDown,QStyleOptionSpinBoxState_SunkenIndique que le bouton est enfoncé.
PE_PanelButtonCommandQStyleOptionButtonState_EnabledDéfinit si le bouton est activé.
State_HasFocusDéfini si le bouton a le focus d'entrée.
State_RaisedDéfini si le bouton n'est ni en bas, ni en haut, ni à plat.
State_OnDéfini si le bouton est un bouton à bascule et s'il est activé.
State_SunkenDéfini si le bouton est enfoncé (c'est-à-dire si le bouton de la souris ou la barre d'espacement est enfoncé 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 la page pixmap donnée, stylisée pour se conformer à la page 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 contenir une palette.

Notez que toutes les pixmaps ne sont pas conformes, auquel cas la pixmap renvoyée est une copie simple.

Voir aussi 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 à l'adresse position dans le complexe control (avec les options de style spécifiées par option).

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

L'argument option est un pointeur sur un objet QStyleOptionComplex (ou l'une de ses sous-classes). L'objet peut être converti dans le 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 à l'intérieur de l'adresse rectangle donnée dans laquelle dessiner l'adresse pixmap spécifiée selon l'adresse alignment définie.

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

Renvoie la zone à l'intérieur de l'adresse rectangle dans laquelle il faut dessiner l'adresse text en fonction des polices spécifiées metrics et alignment. Le paramètre enabled indique si l'élément associé est activé ou non.

Si la zone rectangle est plus grande que la zone nécessaire au rendu de text, le rectangle renvoyé sera décalé à l'intérieur de rectangle en fonction de alignment. Par exemple, si alignment est Qt::AlignCenter, le rectangle renvoyé sera centré sur rectangle. Si rectangle est plus petit que la zone nécessaire, le rectangle renvoyé sera le plus petit rectangle suffisamment grand pour rendre text.

Voir aussi 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 présentation. orientation spécifie si les contrôles sont disposés côte à côte ou empilés verticalement. Le paramètre option peut être utilisé pour 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 avec 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 donné metric.

Les valeurs spécifiées option et widget peuvent être utilisées pour calculer la métrique. La valeur option peut être convertie dans le type approprié à l'aide de la fonction qstyleoption_cast(). Notez que la valeur de option peut être nulle même pour les PixelMetrics qui peuvent l'utiliser. Voir le tableau ci-dessous pour les casts option appropriés :

Certaines métriques de pixels sont appelées par des widgets et 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 l'utiliser. Pour certains styles, cela peut ne pas être approprié.

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

Initialise l'apparence du widget widget.

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. Des actions raisonnables dans cette fonction pourraient être d'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 fournit une porte dérobée par laquelle l'apparence d'un widget peut être modifiée, mais avec le moteur de style de Qt, il est rarement nécessaire d'implémenter cette fonction ; réimplémentez drawItemPixmap(), drawItemText(), drawPrimitive(), etc. à la place.

La fonction QWidget::inherits() peut fournir suffisamment d'informations pour permettre des personnalisations spécifiques à une classe. Mais comme les nouvelles sous-classes de QStyle sont censées fonctionner raisonnablement avec tous les widgets actuels et futurs, il est recommandé de limiter l'utilisation de la personnalisation codée en dur.

Voir aussi 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 le site palette en fonction des exigences spécifiques du style en matière de palettes de couleurs (le cas échéant).

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

Voir aussi QPalette et QApplication::setPalette().

const QStyle *QStyle::proxy() const

Cette fonction renvoie le proxy actuel pour ce style. Par défaut, la plupart des styles se renvoient eux-mêmes. Cependant, lorsqu'un style mandataire est utilisé, cette fonction permet au style de rappeler son mandataire.

[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 option et type, sur la base de contentsSize.

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

Voir le tableau ci-dessous pour les casts option appropriés :

Voir également ContentsType et QStyleOption.

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

Convertit la valeur logicalValue en une position en pixels. Le paramètre min correspond à 0, max correspond à span et les autres valeurs sont réparties uniformément entre les deux.

Cette fonction peut traiter l'ensemble de la plage des entiers sans débordement, à condition que span soit inférieur à 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 à true pour inverser ce comportement.

Voir également sliderValueFromPosition().

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

Convertit le pixel donné position en une valeur logique. 0 correspond au paramètre min, span correspond à max et les autres valeurs sont réparties uniformément entre les deux.

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

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 à 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 pour l'adresse standardIcon.

L'adresse standardIcon est un pixmap standard qui peut suivre un style ou une ligne directrice d'interface graphique existante. 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 qui prennent en charge les couleurs du 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 font appel à des moteurs de thèmes natifs. Avec ces styles, vous ne devez pas définir la palette avec 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 nombre entier représentant le style spécifié hint pour le style donné widget décrit par le style fourni option.

returnData est utilisé lorsque le widget demandeur a besoin de données plus détaillées que l'entier renvoyé par styleHint(). Voir la description de la classe QStyleHintReturn pour plus de détails.

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

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

L'argument option est un pointeur sur QStyleOptionComplex ou l'une de ses sous-classes, et peut être converti dans le 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 de l'adresse element telle qu'elle est 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 aider à déterminer la zone. L'objet QStyleOption peut être converti dans le type approprié à l'aide de la fonction qstyleoption_cast(). Voir le tableau ci-dessous pour les casts option appropriés :

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

Désinitialise l'apparence de widget.

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

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

Voir aussi polish().

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

Désinitialise le site application.

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

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

Transforme un alignment de Qt::AlignLeft ou Qt::AlignRight sans Qt::AlignAbsolute en Qt::AlignLeft ou Qt::AlignRight avec Qt::AlignAbsolute selon la disposition direction. Les autres drapeaux d'alignement ne sont pas modifié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'adresse logicalPosition donnée convertie en coordonnées d'écran sur la base de l'adresse direction spécifiée. Le site boundingRectangle est utilisé lors de la traduction.

Voir aussi QWidget::layoutDirection.

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

Renvoie l'adresse logicalRectangle donnée convertie en coordonnées d'écran sur la base de l'adresse direction spécifiée. L'adresse boundingRectangle est utilisée pour effectuer la conversion.

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

Voir aussi 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.