Sur cette page

QIcon Class

La classe QIcon fournit des icônes redimensionnables dans différents modes et états. En savoir plus...

En-tête : #include <QIcon>
CMake : find_package(Qt6 REQUIRED COMPONENTS Gui)
target_link_libraries(mytarget PRIVATE Qt6::Gui)
qmake : QT += gui

Types publics

enum Mode { Normal, Disabled, Active, Selected }
enum State { On, Off }
(since 6.7) enum class ThemeIcon { AddressBookNew, ApplicationExit, AppointmentNew, CallStart, CallStop, …, WeatherStorm }

Fonctions publiques

QIcon()
QIcon(QIconEngine *engine)
QIcon(const QPixmap &pixmap)
QIcon(const QString &fileName)
QIcon(const QIcon &other)
QIcon(QIcon &&other)
~QIcon()
QSize actualSize(const QSize &size, QIcon::Mode mode = Normal, QIcon::State state = Off) const
void addFile(const QString &fileName, const QSize &size = QSize(), QIcon::Mode mode = Normal, QIcon::State state = Off)
void addPixmap(const QPixmap &pixmap, QIcon::Mode mode = Normal, QIcon::State state = Off)
QList<QSize> availableSizes(QIcon::Mode mode = Normal, QIcon::State state = Off) const
qint64 cacheKey() const
bool isMask() const
bool isNull() const
QString name() const
void paint(QPainter *painter, const QRect &rect, Qt::Alignment alignment = Qt::AlignCenter, QIcon::Mode mode = Normal, QIcon::State state = Off) const
void paint(QPainter *painter, int x, int y, int w, int h, Qt::Alignment alignment = Qt::AlignCenter, QIcon::Mode mode = Normal, QIcon::State state = Off) const
QPixmap pixmap(const QSize &size, QIcon::Mode mode = Normal, QIcon::State state = Off) const
QPixmap pixmap(int extent, QIcon::Mode mode = Normal, QIcon::State state = Off) const
(since 6.0) QPixmap pixmap(const QSize &size, qreal devicePixelRatio, QIcon::Mode mode = Normal, QIcon::State state = Off) const
QPixmap pixmap(int w, int h, QIcon::Mode mode = Normal, QIcon::State state = Off) const
void setIsMask(bool isMask)
void swap(QIcon &other)
operator QVariant() const
QIcon &operator=(QIcon &&other)
QIcon &operator=(const QIcon &other)

Membres publics statiques

QStringList fallbackSearchPaths()
QString fallbackThemeName()
QIcon fromTheme(const QString &name)
(since 6.7) QIcon fromTheme(QIcon::ThemeIcon icon)
(since 6.7) QIcon fromTheme(QIcon::ThemeIcon icon, const QIcon &fallback)
QIcon fromTheme(const QString &name, const QIcon &fallback)
bool hasThemeIcon(const QString &name)
(since 6.7) bool hasThemeIcon(QIcon::ThemeIcon icon)
void setFallbackSearchPaths(const QStringList &paths)
void setFallbackThemeName(const QString &name)
void setThemeName(const QString &name)
void setThemeSearchPaths(const QStringList &paths)
QString themeName()
QStringList themeSearchPaths()
QDataStream &operator<<(QDataStream &stream, const QIcon &icon)
QDataStream &operator>>(QDataStream &stream, QIcon &icon)

Description détaillée

Un QIcon peut générer des images bitmap plus petites, plus grandes, actives ou désactivées à partir de l'ensemble d'images bitmap qui lui est fourni. Ces images bitmap sont utilisées par les composants d'interface utilisateur Qt pour afficher une icône représentant une action particulière.

Création d’une icône à partir de fichiers image

La manière la plus simple de créer un QIcon consiste à le générer à partir d’un ou plusieurs fichiers image ou ressources. Par exemple :

QToolButton *button = new QToolButton;
button->setIcon(QIcon("open.png"));

QIcon peut stocker plusieurs images correspondant à différents états, et Qt sélectionnera l’image qui correspond le mieux à l’état actuel de l’action.

QIcon openIcon("open.png");
openIcon.addFile("open-disabled.png", size ,QIcon::Disabled);

Qt générera les styles et tailles d’icônes requis lorsque cela sera nécessaire ; par exemple, l’image pour l’état « QIcon::Disabled » (sélectionné) pourra être générée en grisant l’une des images fournies.

Pour effacer l’icône, il suffit de définir une icône nulle à sa place :

button->setIcon(QIcon());

Utilisez les fonctions ` QImageReader::supportedImageFormats()` et ` QImageWriter::supportedImageFormats()` pour obtenir la liste complète des formats de fichiers pris en charge.

Remarque : si vous utilisez un fichier image SVG, veillez à l’ajouter avant tout fichier non SVG, afin que l’ icon engine appropriée soit sélectionnée.

Création d’une icône à partir d’un thème ou d’une bibliothèque d’icônes

La manière la plus pratique de créer une icône consiste à utiliser la fonction de fabrication ` fromTheme()`. Qt permet d’accéder à la bibliothèque d’icônes native sur les plateformes prenant en charge la spécification Freedesktop Icon Theme.

Les applications peuvent utiliser cette même spécification de thème pour fournir leur propre bibliothèque d’icônes. Vous trouverez ci-dessous un exemple de description de thème et la structure de répertoires correspondante pour les fichiers image.

Depuis Qt 6.7, Qt fournit également un accès à la bibliothèque d’icônes native sous macOS, iOS, ainsi que sous Windows 10 et 11. Sous Android, Qt peut accéder aux icônes du système Material Design à condition que la police MaterialIcons-Regular soit disponible sur le système, ou fournie en tant que ressource à l’emplacement :/qt-project.org/icons/MaterialIcons-Regular.ttf avec l’application.

QIcon undoicon = QIcon::fromTheme(QIcon::ThemeIcon::EditUndo);

Depuis Qt 6.9, Qt peut générer des icônes à partir de glyphes nommés dans une police d’icônes disponible. Définissez l’ theme name sur le nom de la famille de la police, puis utilisez fromTheme() avec le nom du glyphe.

QIcon::setThemeName("Material Symbols Outlined");
QIcon muteIcon = QIcon::fromTheme(u"volume_off"_s);

La police d’icônes peut être installée sur le système ou fournie sous forme d’ application font.

Moteurs d’icônes

En interne, QIcon instancie un moteur icon engine pour gérer et afficher les images d’icônes. Le type de moteur d’icônes est déterminé par le premier fichier, pixmap ou thème ajouté à un objet QIcon. Les fichiers ou pixmaps supplémentaires seront alors gérés par le même moteur.

Les moteurs d’icônes diffèrent dans leur manière de gérer et de rendre les icônes. Le moteur par défaut, basé sur des pixmaps, ne prend en charge que les images fixes, tandis que le module QtSvg fournit un moteur d’icônes capable de réafficher les fichiers graphiques vectoriels fournis à la taille demandée pour une meilleure qualité. Les moteurs d’icônes de thème ne fournissent généralement que des images issues de la bibliothèque d’icônes native de la plateforme et ignorent tout fichier ou pixmap ajouté.

De plus, il est possible de fournir des moteurs d’icônes personnalisés. Cela permet aux applications de personnaliser chaque aspect des icônes générées. Avec QIconEnginePlugin, il est possible d’enregistrer différents moteurs d’icônes pour différentes extensions de fichiers, ce qui permet à des tiers de fournir des moteurs d’icônes supplémentaires à ceux inclus avec Qt.

Utilisation de QIcon dans l’interface utilisateur

Si vous écrivez vos propres widgets disposant d’une option permettant de définir une petite image, pensez à autoriser l’utilisation d’un QIcon pour cette image. La classe Qt QToolButton est un exemple de ce type de widget.

Fournissez une méthode permettant de définir un QIcon, puis dessinez ce QIcon à l’aide de ` paint`, en choisissant les paramètres appropriés en fonction de l’état actuel de votre widget. Par exemple :

void MyWidget::drawIcon(QPainter *painter, const QRect &rect)
{
    icon.paint(painter, rect, Qt::AlignCenter, isEnabled() ? QIcon::Normal
                                                           : QIcon::Disabled,
                                               isChecked() ? QIcon::On
                                                           : QIcon::Off);
}

Lorsque vous récupérez une image à l’aide de `pixmap(QSize, Mode, State)` et qu’aucune image correspondant à la taille, au mode et à l’état indiqués n’a été ajoutée via ` addFile()` ou ` addPixmap()`, alors `QIcon` en génère une à la volée. Cette génération de pixmap s’effectue dans un ` QIconEngine`. Par défaut, le moteur réduit l’échelle des pixmaps si nécessaire, mais ne l’augmente jamais, et il utilise le style actuel pour calculer l’apparence d’un élément désactivé.

Vous pouvez également utiliser le mode Active, par exemple pour rendre votre widget Active lorsque la souris survole le widget (voir QWidget::enterEvent()), lorsque le bouton de la souris est enfoncé en attendant le relâchement qui activera la fonction, ou lorsqu’il s’agit de l’élément actuellement sélectionné. Si le widget peut être activé/désactivé, le mode « On » peut être utilisé pour afficher une icône différente.

Les QIcons générés à partir de la bibliothèque d’icônes native ou d’une police d’icônes utilisent le même glyphe pour les états « On » et « Off » de l’icône. Les applications peuvent modifier l’icône en fonction de l’état du contrôle d’interface utilisateur ou de l’action correspondante. Dans une application « Qt Quick », cela peut être réalisé à l’aide d’un binding.

ToolButton {
    id: muteButton
    checkable: true
    icon.name: checked ? "volume_off" : "volume_up"
}

QIcon

Remarque : QIcon a besoin d’une instance de ` QGuiApplication ` avant que l’icône ne soit créée.

Icônes haute résolution

Les icônes fournies par la bibliothèque d’icônes native, ou générées à partir d’un glyphe dans une police d’icônes, sont généralement basées sur des graphiques vectoriels et seront automatiquement affichées dans la résolution appropriée.

Lorsque vous fournissez vos propres fichiers image via ` addFile()`, QIcon utilise alors ` "@nx" high DPI syntax` de Qt. Cela s’avère utile si vous disposez de votre propre structure de répertoires personnalisée et que vous ne suivez pas la spécification Freedesktop Icon Theme.

Lorsque vous fournissez un thème d’application, vous devez respecter la spécification des thèmes d’icônes pour indiquer quels fichiers utiliser pour les différentes résolutions. Pour que QIcon utilise la version haute résolution (DPI) d’une image, ajoutez une entrée supplémentaire au fichier index.theme correspondant :

[Icon Theme]
Name=Test
Comment=Test Theme

Directories=32x32/actions,32x32@2/actions

[32x32/actions]
Size=32
Context=Actions
Type=Fixed

# High DPI version of the entry above.
[32x32@2/actions]
Size=32
Scale=2
Type=Fixed

Votre répertoire de thèmes d’icônes ressemblerait alors à ceci :

├── 32x32
│   └── actions
│       └── appointment-new.png
├── 32x32@2
│   └── actions
│       └── appointment-new.png
└── index.theme

Type de membre Documentation

enum QIcon::Mode

Ce type d'énumération décrit le mode d'utilisation prévu pour une image matricielle. Les modes actuellement définis sont les suivants :

ConstanteValeurDescription
QIcon::Normal0Affiche la carte de pixels lorsque l'utilisateur n'interagit pas avec l'icône, mais que la fonctionnalité représentée par celle-ci est disponible.
QIcon::Disabled1Affiche la carte de pixels lorsque la fonctionnalité représentée par l'icône n'est pas disponible.
QIcon::Active2Affiche la carte de pixels lorsque la fonctionnalité représentée par l'icône est disponible et que l'utilisateur interagit avec l'icône, par exemple en passant la souris dessus ou en cliquant dessus.
QIcon::Selected3Affiche l'image lorsque l'élément représenté par l'icône est sélectionné.

enum QIcon::State

Cette énumération décrit l'état pour lequel une image matricielle est destinée à être utilisée. L'état peut être :

ConstanteValeurDescription
QIcon::On0Affiche la carte de pixels lorsque le widget est à l'état « activé »
QIcon::Off1Affiche la carte de pixels lorsque le widget est à l'état « désactivé »

[since 6.7] enum class QIcon::ThemeIcon

Cette énumération permet d'accéder aux icônes fournies par la plupart des implémentations de thèmes d'icônes.

ConstanteValeurDescription
QIcon::ThemeIcon::AddressBookNew0L'icône correspondant à l'action permettant de créer un nouveau carnet d'adresses.
QIcon::ThemeIcon::ApplicationExit1L'icône permettant de quitter une application.
QIcon::ThemeIcon::AppointmentNew2L'icône correspondant à l'action permettant de créer un nouveau rendez-vous.
QIcon::ThemeIcon::CallStart3L'icône permettant de passer ou d'accepter un appel.
QIcon::ThemeIcon::CallStop4L'icône permettant de mettre fin à un appel en cours.
QIcon::ThemeIcon::ContactNew5L'icône correspondant à l'action permettant de créer un nouveau contact.
QIcon::ThemeIcon::DocumentNew6L'icône permettant de créer un nouveau document.
QIcon::ThemeIcon::DocumentOpen7L'icône correspondant à l'action permettant d'ouvrir un document.
QIcon::ThemeIcon::DocumentOpenRecent8L'icône permettant d'ouvrir un document récemment consulté.
QIcon::ThemeIcon::DocumentPageSetup9L'icône correspondant à l'action de mise en page.
QIcon::ThemeIcon::DocumentPrint10L'icône correspondant à l'action d'impression.
QIcon::ThemeIcon::DocumentPrintPreview11L'icône correspondant à l'action « Aperçu avant impression ».
QIcon::ThemeIcon::DocumentProperties12L'icône correspondant à l'action permettant d'afficher les propriétés d'un document.
QIcon::ThemeIcon::DocumentRevert13L'icône correspondant à l'action permettant de revenir à une version précédente d'un document.
QIcon::ThemeIcon::DocumentSave14L'icône correspondant à l'action « Enregistrer ».
QIcon::ThemeIcon::DocumentSaveAs15L'icône correspondant à l'action « Enregistrer sous ».
QIcon::ThemeIcon::DocumentSend16L'icône correspondant à l'action « Envoyer ».
QIcon::ThemeIcon::EditClear17L'icône correspondant à l'action « Effacer ».
QIcon::ThemeIcon::EditCopy18L'icône correspondant à l'action « Copier ».
QIcon::ThemeIcon::EditCut19L'icône correspondant à l'action « Couper ».
QIcon::ThemeIcon::EditDelete20L'icône correspondant à l'action « Supprimer ».
QIcon::ThemeIcon::EditFind21L'icône correspondant à l'action « Rechercher ».
QIcon::ThemeIcon::EditPaste22L'icône correspondant à l'action « Coller ».
QIcon::ThemeIcon::EditRedo23L'icône de l'action « Refaire ».
QIcon::ThemeIcon::EditSelectAll24L'icône correspondant à l'action « Tout sélectionner ».
QIcon::ThemeIcon::EditUndo25L'icône correspondant à l'action « Annuler ».
QIcon::ThemeIcon::FolderNew26L'icône permettant de créer un nouveau dossier.
QIcon::ThemeIcon::FormatIndentLess27L'icône correspondant à l'action « Diminuer l'indentation ».
QIcon::ThemeIcon::FormatIndentMore28L'icône correspondant à l'action « Augmenter l'indentation ».
QIcon::ThemeIcon::FormatJustifyCenter29L'icône correspondant à l'action de mise en forme « Justification au centre ».
QIcon::ThemeIcon::FormatJustifyFill30L'icône correspondant à l'action de mise en forme « Justification à la marge ».
QIcon::ThemeIcon::FormatJustifyLeft31L'icône correspondant à l'action de mise en forme « alignement à gauche ».
QIcon::ThemeIcon::FormatJustifyRight32L'icône correspondant à l'action d'alignement à droite.
QIcon::ThemeIcon::FormatTextDirectionLtr33L'icône correspondant à l'action de mise en forme du texte de gauche à droite.
QIcon::ThemeIcon::FormatTextDirectionRtl34L'icône correspondant à l'action de mise en forme « de droite à gauche ».
QIcon::ThemeIcon::FormatTextBold35L'icône correspondant à l'action de mise en forme du texte en gras.
QIcon::ThemeIcon::FormatTextItalic36L'icône correspondant à l'action de mise en forme du texte en italique.
QIcon::ThemeIcon::FormatTextUnderline37L'icône correspondant à l'action de mise en forme du texte souligné.
QIcon::ThemeIcon::FormatTextStrikethrough38L'icône correspondant à l'action de mise en forme du texte en barré.
QIcon::ThemeIcon::GoDown39L'icône correspondant à l'action « descendre dans une liste ».
QIcon::ThemeIcon::GoHome40L'icône correspondant à l'action « Aller à la page d'accueil ».
QIcon::ThemeIcon::GoNext41L'icône correspondant à l'action « Passer à l'élément suivant d'une liste ».
QIcon::ThemeIcon::GoPrevious42L'icône correspondant à l'action « Aller à l'élément précédent d'une liste ».
QIcon::ThemeIcon::GoUp43L'icône correspondant à l'action « Remonter dans une liste ».
QIcon::ThemeIcon::HelpAbout44L'icône de l'élément « À propos » dans le menu Aide.
QIcon::ThemeIcon::HelpFaq45L'icône de l'élément « FAQ » du menu Aide.
QIcon::ThemeIcon::InsertImage46L'icône correspondant à l'action « Insérer une image » d'une application.
QIcon::ThemeIcon::InsertLink47L'icône correspondant à l'action « Insérer un lien » d'une application.
QIcon::ThemeIcon::InsertText48L'icône correspondant à l'action « Insérer du texte » d'une application.
QIcon::ThemeIcon::ListAdd49L'icône de l'action « Ajouter à la liste ».
QIcon::ThemeIcon::ListRemove50L'icône correspondant à l'action « Supprimer de la liste ».
QIcon::ThemeIcon::MailForward51L'icône correspondant à l'action « Transférer ».
QIcon::ThemeIcon::MailMarkImportant52L'icône correspondant à l'action « Marquer comme important ».
QIcon::ThemeIcon::MailMarkRead53L'icône correspondant à l'action « Marquer comme lu ».
QIcon::ThemeIcon::MailMarkUnread54L'icône correspondant à l'action « Marquer comme non lu ».
QIcon::ThemeIcon::MailMessageNew55L'icône correspondant à l'action « Rédiger un nouvel e-mail ».
QIcon::ThemeIcon::MailReplyAll56L'icône correspondant à l'action « Répondre à tous ».
QIcon::ThemeIcon::MailReplySender57L'icône correspondant à l'action « Répondre à l'expéditeur ».
QIcon::ThemeIcon::MailSend58L'icône correspondant à l'action « Envoyer ».
QIcon::ThemeIcon::MediaEject59L'icône correspondant à l'action « Éjecter » d'un lecteur multimédia ou d'un gestionnaire de fichiers.
QIcon::ThemeIcon::MediaPlaybackPause60L'icône correspondant à l'action « Mettre en pause » d'un lecteur multimédia.
QIcon::ThemeIcon::MediaPlaybackStart61L'icône correspondant à l'action « Lancer la lecture » d'un lecteur multimédia.
QIcon::ThemeIcon::MediaPlaybackStop62L'icône correspondant à l'action « Arrêter » d'un lecteur multimédia.
QIcon::ThemeIcon::MediaRecord63L'icône correspondant à l'action « Enregistrer » d'une application multimédia.
QIcon::ThemeIcon::MediaSeekBackward64L'icône correspondant à l'action « retour rapide » d'un lecteur multimédia.
QIcon::ThemeIcon::MediaSeekForward65L'icône correspondant à l'action « avance rapide » d'un lecteur multimédia.
QIcon::ThemeIcon::MediaSkipBackward66L'icône correspondant à l'action « saut en arrière » d'un lecteur multimédia.
QIcon::ThemeIcon::MediaSkipForward67L'icône correspondant à l'action « saut en avant » d'un lecteur multimédia.
QIcon::ThemeIcon::ObjectRotateLeft68L'icône correspondant à l'action de rotation vers la gauche effectuée sur un objet.
QIcon::ThemeIcon::ObjectRotateRight69L'icône correspondant à l'action de rotation vers la droite appliquée à un objet.
QIcon::ThemeIcon::ProcessStop70L'icône correspondant à l'action « Arrêter » dans les applications où le traitement des actions peut prendre un certain temps, comme le chargement d'une page Web dans un navigateur.
QIcon::ThemeIcon::SystemLockScreen71L'icône correspondant à l'action « verrouiller l'écran ».
QIcon::ThemeIcon::SystemLogOut72L'icône correspondant à l'action « Se déconnecter ».
QIcon::ThemeIcon::SystemSearch73L'icône correspondant à l'action « Rechercher ».
QIcon::ThemeIcon::SystemReboot74L'icône correspondant à l'action « redémarrer ».
QIcon::ThemeIcon::SystemShutdown75L'icône de l'action « Arrêt ».
QIcon::ThemeIcon::ToolsCheckSpelling76L'icône correspondant à l'action « Vérification orthographique ».
QIcon::ThemeIcon::ViewFullscreen77L'icône correspondant à l'action « Plein écran ».
QIcon::ThemeIcon::ViewRefresh78L'icône correspondant à l'action « Actualiser ».
QIcon::ThemeIcon::ViewRestore79L'icône permettant de quitter le mode plein écran.
QIcon::ThemeIcon::WindowClose80L'icône correspondant à l'action « Fermer la fenêtre ».
QIcon::ThemeIcon::WindowNew81L'icône correspondant à l'action « Nouvelle fenêtre ».
QIcon::ThemeIcon::ZoomFitBest82L'icône permettant d'ajuster l'image à l'écran.
QIcon::ThemeIcon::ZoomIn83L'icône correspondant à l'action « Zoom avant ».
QIcon::ThemeIcon::ZoomOut84L'icône permettant de réduire l'image.
QIcon::ThemeIcon::AudioCard85L'icône du périphérique de sortie audio.
QIcon::ThemeIcon::AudioInputMicrophone86L'icône du périphérique d'entrée audio (microphone).
QIcon::ThemeIcon::Battery87L'icône du périphérique de batterie du système.
QIcon::ThemeIcon::CameraPhoto88L'icône représentant un appareil photo numérique.
QIcon::ThemeIcon::CameraVideo89L'icône représentant une caméra vidéo.
QIcon::ThemeIcon::CameraWeb90L'icône du périphérique de webcam.
QIcon::ThemeIcon::Computer91L'icône représentant l'ordinateur dans son ensemble.
QIcon::ThemeIcon::DriveHarddisk92L'icône des disques durs.
QIcon::ThemeIcon::DriveOptical93L'icône représentant les lecteurs de supports optiques, tels que les CD et les DVD.
QIcon::ThemeIcon::InputGaming94L'icône représentant la manette de jeu.
QIcon::ThemeIcon::InputKeyboard95L'icône du périphérique de saisie « clavier ».
QIcon::ThemeIcon::InputMouse96L'icône représentant la souris.
QIcon::ThemeIcon::InputTablet97L'icône des tablettes graphiques.
QIcon::ThemeIcon::MediaFlash98L'icône des supports flash, tels que les clés USB.
QIcon::ThemeIcon::MediaOptical99L'icône représentant les supports optiques physiques, tels que les CD et les DVD.
QIcon::ThemeIcon::MediaTape100L'icône représentant les supports physiques de type bande.
QIcon::ThemeIcon::MultimediaPlayer101L'icône représentant les périphériques de lecture multimédia génériques.
QIcon::ThemeIcon::NetworkWired102L'icône représentant les connexions réseau filaires.
QIcon::ThemeIcon::NetworkWireless103L'icône représentant les connexions réseau sans fil.
QIcon::ThemeIcon::Phone104L'icône représentant les appareils téléphoniques.
QIcon::ThemeIcon::Printer105L'icône représentant une imprimante.
QIcon::ThemeIcon::Scanner106L'icône représentant un scanner.
QIcon::ThemeIcon::VideoDisplay107L'icône correspondant à l'écran sur lequel la vidéo s'affiche.
QIcon::ThemeIcon::AppointmentMissed108L'icône indiquant qu'un rendez-vous a été manqué.
QIcon::ThemeIcon::AppointmentSoon109L'icône indiquant qu'un rendez-vous aura lieu prochainement.
QIcon::ThemeIcon::AudioVolumeHigh110L'icône indiquant que le volume sonore est élevé.
QIcon::ThemeIcon::AudioVolumeLow111L'icône utilisée pour indiquer un faible volume sonore.
QIcon::ThemeIcon::AudioVolumeMedium112L'icône indiquant un volume sonore moyen.
QIcon::ThemeIcon::AudioVolumeMuted113L'icône indiquant que le son est coupé lors de la lecture audio.
QIcon::ThemeIcon::BatteryCaution114L'icône qui s'affiche lorsque le niveau de charge de la batterie est inférieur à 40 %.
QIcon::ThemeIcon::BatteryLow115L'icône utilisée lorsque le niveau de charge de la batterie est inférieur à 20 %.
QIcon::ThemeIcon::DialogError116L'icône utilisée lorsqu'une boîte de dialogue s'ouvre pour expliquer une erreur à l'utilisateur.
QIcon::ThemeIcon::DialogInformation117L'icône utilisée lorsqu'une boîte de dialogue s'ouvre pour fournir à l'utilisateur des informations pouvant être pertinentes pour l'action demandée.
QIcon::ThemeIcon::DialogPassword118L'icône utilisée lorsqu'une boîte de dialogue demandant les identifiants d'authentification d'un utilisateur s'ouvre.
QIcon::ThemeIcon::DialogQuestion119L'icône utilisée lorsqu'une boîte de dialogue s'ouvre pour poser une question simple à l'utilisateur.
QIcon::ThemeIcon::DialogWarning120L'icône utilisée lorsqu'une boîte de dialogue s'ouvre pour avertir l'utilisateur de problèmes imminents liés à l'action demandée.
QIcon::ThemeIcon::FolderDragAccept121L'icône utilisée pour un dossier lorsqu'un objet compatible y est glissé.
QIcon::ThemeIcon::FolderOpen122Icône utilisée pour les dossiers lorsque leur contenu s'affiche dans la même fenêtre.
QIcon::ThemeIcon::FolderVisiting123Icône utilisée pour les dossiers lorsque leur contenu s'affiche dans une autre fenêtre.
QIcon::ThemeIcon::ImageLoading124L'icône utilisée pendant le chargement d'une autre image.
QIcon::ThemeIcon::ImageMissing125L'icône utilisée lorsqu'une autre image n'a pas pu être chargée.
QIcon::ThemeIcon::MailAttachment126L'icône d'un message contenant des pièces jointes.
QIcon::ThemeIcon::MailUnread127L'icône d'un message non lu.
QIcon::ThemeIcon::MailRead128L'icône d'un message lu.
QIcon::ThemeIcon::MailReplied129L'icône d'un message auquel on a répondu.
QIcon::ThemeIcon::MediaPlaylistRepeat130L'icône du mode de lecture en boucle d'un lecteur multimédia.
QIcon::ThemeIcon::MediaPlaylistShuffle131L'icône du mode aléatoire d'un lecteur multimédia.
QIcon::ThemeIcon::NetworkOffline132L'icône indiquant que l'appareil n'est pas connecté au réseau.
QIcon::ThemeIcon::PrinterPrinting133L'icône qui s'affiche lorsqu'un travail d'impression est en cours de mise en file d'attente vers un périphérique d'impression.
QIcon::ThemeIcon::SecurityHigh134L'icône utilisée pour indiquer que le niveau de sécurité d'un élément est réputé élevé.
QIcon::ThemeIcon::SecurityLow135L'icône utilisée pour indiquer que le niveau de sécurité d'un élément est connu pour être faible.
QIcon::ThemeIcon::SoftwareUpdateAvailable136L'icône utilisée pour indiquer qu'une mise à jour est disponible.
QIcon::ThemeIcon::SoftwareUpdateUrgent137L’icône indiquant qu’une mise à jour urgente est disponible.
QIcon::ThemeIcon::SyncError138L'icône utilisée lorsqu'une erreur se produit lors d'une tentative de synchronisation des données entre appareils.
QIcon::ThemeIcon::SyncSynchronizing139L'icône qui s'affiche lorsque la synchronisation des données entre les appareils s'effectue correctement.
QIcon::ThemeIcon::UserAvailable140L'icône utilisée pour indiquer qu'un utilisateur est disponible.
QIcon::ThemeIcon::UserOffline141L'icône utilisée pour indiquer qu'un utilisateur n'est pas disponible.
QIcon::ThemeIcon::WeatherClear142L'icône utilisée pour indiquer que le ciel est dégagé.
QIcon::ThemeIcon::WeatherClearNight143L'icône utilisée pour indiquer que le ciel est dégagé pendant la nuit.
QIcon::ThemeIcon::WeatherFewClouds144L'icône utilisée pour indiquer que le ciel est partiellement nuageux.
QIcon::ThemeIcon::WeatherFewCloudsNight145L'icône utilisée pour indiquer que le ciel est partiellement nuageux pendant la nuit.
QIcon::ThemeIcon::WeatherFog146L'icône utilisée pour indiquer qu'il y a du brouillard.
QIcon::ThemeIcon::WeatherShowers147L'icône utilisée pour indiquer qu'il y a des averses.
QIcon::ThemeIcon::WeatherSnow148L'icône utilisée pour indiquer qu'il neige.
QIcon::ThemeIcon::WeatherStorm149L'icône utilisée pour indiquer qu'il y a de l'orage.

Cette énumération a été introduite dans Qt 6.7.

Voir également Creating an icon from a theme or icon library et fromTheme().

Documentation des fonctions membres

[noexcept] QIcon::QIcon()

Crée une icône vide.

[explicit] QIcon::QIcon(QIconEngine *engine)

Crée une icône à l'aide d'une icône spécifique engine. L'icône prend le contrôle du moteur.

QIcon::QIcon(const QPixmap &pixmap)

Crée une icône à partir d'un objet de type « pixmap ».

[explicit] QIcon::QIcon(const QString &fileName)

Crée une icône à partir du fichier dont l'fileName est indiquée. Le fichier sera chargé à la demande.

Si fileName contient un chemin relatif (par exemple, uniquement le nom de fichier), le fichier correspondant doit être recherché par rapport au répertoire de travail d'exécution.

Le nom de fichier peut faire référence à un fichier réel présent sur le disque ou à l'une des ressources intégrées de l'application. Reportez-vous à la présentation du système de ressources pour plus de détails sur la manière d'intégrer des images et d'autres fichiers de ressources dans l'exécutable de l'application.

Utilisez les fonctions QImageReader::supportedImageFormats() et QImageWriter::supportedImageFormats() pour obtenir la liste complète des formats de fichiers pris en charge.

QIcon::QIcon(const QIcon &other)

Crée une copie de other. Cette opération est très rapide.

[noexcept] QIcon::QIcon(QIcon &&other)

Cette fonction crée une instance de `QIcon` et la fait pointer vers le même objet que celui vers lequel pointait ` other `.

[noexcept] QIcon::~QIcon()

Supprime l'icône.

QSize QIcon::actualSize(const QSize &size, QIcon::Mode mode = Normal, QIcon::State state = Off) const

Renvoie la taille réelle de l'icône pour les éléments demandés : size, mode et state. Le résultat peut être inférieur à la taille demandée, mais jamais supérieur. La taille renvoyée est exprimée en pixels indépendants du périphérique (ceci est pertinent pour les images pixmap à haute résolution).

Voir également pixmap() et paint().

void QIcon::addFile(const QString &fileName, const QSize &size = QSize(), QIcon::Mode mode = Normal, QIcon::State state = Off)

Ajoute à l'icône une image provenant du fichier dont l'fileName est indiquée, en tant que spécialisation pour size, mode et state. Le fichier sera chargé à la demande. Remarque : les moteurs d'icônes personnalisés sont libres d'ignorer les images ajoutées en supplément.

Si fileName contient un chemin relatif (par exemple, uniquement le nom de fichier), le fichier concerné doit être localisé par rapport au répertoire de travail d’exécution.

Le nom de fichier peut faire référence à un fichier réel sur le disque ou à l’une des ressources intégrées de l’application. Consultez la présentation du système de ressources pour plus de détails sur la manière d’intégrer des images et d’autres fichiers de ressources dans l’exécutable de l’application.

Utilisez les fonctions QImageReader::supportedImageFormats() et QImageWriter::supportedImageFormats() pour obtenir la liste complète des formats de fichiers pris en charge.

Si une version haute résolution de l’image existe (identifiée par le suffixe @2x ajouté au nom de base), elle est automatiquement chargée et ajoutée avec le rapport de pixels de l’appareil défini sur la valeur 2. Cette fonctionnalité peut être désactivée en définissant la variable d’environnement QT_HIGHDPI_DISABLE_2X_IMAGE_LOADING (voir QImageReader).

Remarque : lorsque vous ajoutez un nom de fichier non vide à un QIcon, l’icône devient non nulle, même si le fichier n’existe pas ou pointe vers un fichier corrompu.

Voir également addPixmap() et QPixmap::devicePixelRatio().

void QIcon::addPixmap(const QPixmap &pixmap, QIcon::Mode mode = Normal, QIcon::State state = Off)

Ajoute « pixmap » à l'icône, en tant que spécialisation de « mode » et « state ».

Les moteurs d’icônes personnalisés sont libres d’ignorer les images pixmap ajoutées en supplément.

Voir également addFile().

QList<QSize> QIcon::availableSizes(QIcon::Mode mode = Normal, QIcon::State state = Off) const

Renvoie une liste des tailles d'icônes disponibles pour les éléments spécifiés mode et state.

qint64 QIcon::cacheKey() const

Renvoie un nombre identifiant le contenu de cet objet ` QIcon `. Des objets ` QIcon ` distincts peuvent avoir la même clé s'ils font référence au même contenu.

La valeur de cacheKey() change lorsque l'icône est modifiée via addPixmap() ou addFile().

Les clés de cache sont particulièrement utiles dans le cadre de la mise en cache.

Voir également la méthode QPixmap::cacheKey().

[static] QStringList QIcon::fallbackSearchPaths()

Renvoie les chemins de recherche de secours pour les icônes.

Les chemins de recherche de secours sont consultés pour les fichiers d'icônes autonomes si les chemins current icon theme ou fallback icon theme ne fournissent aucun résultat lors de la recherche d'une icône.

Si ces chemins ne sont pas définis, ils seront déterminés par la plate-forme.

Voir également setFallbackSearchPaths() et themeSearchPaths().

[static] QString QIcon::fallbackThemeName()

Renvoie le nom du thème d'icônes de secours.

S'il n'est pas défini, le thème d'icônes de secours sera déterminé par la plate-forme.

Remarque : les thèmes d'icônes de secoursde la plate-forme ne sont pour l'instant implémentés que sur les systèmes basés sur Freedesktop, et le thème d'icônes dépend de vos paramètres de bureau.

Voir également setFallbackThemeName() et themeName().

[static] QIcon QIcon::fromTheme(const QString &name)

Renvoie l'QIcon correspondant à name dans le current icon theme.

Si le thème actuel ne fournit pas d’icône pour name, le fichier fallback icon theme est consulté, avant de se rabattre sur la recherche de fichiers d’icônes autonomes dans le répertoire fallback icon search path. Enfin, la bibliothèque d’icônes native de la plateforme est consultée.

Pour récupérer une icône à partir du thème d’icônes actuel :

QIcon undoicon = QIcon::fromTheme(QIcon::ThemeIcon::EditUndo);

Si icon theme n’a pas été explicitement défini via setThemeName(), un thème d’icônes défini par la plateforme sera utilisé.

Voir également themeName(), fallbackThemeName(), setThemeName(), themeSearchPaths(), fallbackSearchPaths() et la spécification de nommage des icônes Freedesktop.

[static, since 6.7] QIcon QIcon::fromTheme(QIcon::ThemeIcon icon)

[static, since 6.7] QIcon QIcon::fromTheme(QIcon::ThemeIcon icon, const QIcon &fallback)

Renvoie l'QIcon correspondant à icon dans le current icon theme.

Si le thème actuel ne fournit pas d’icône pour icon, la variable fallback icon theme est consultée, avant de se rabattre sur la recherche de fichiers d’icônes autonomes dans le répertoire fallback icon search path. Enfin, la bibliothèque d’icônes native de la plateforme est consultée.

Si aucune icône n’est trouvée et qu’un fallback est fourni, fallback est renvoyé. Cela permet de garantir une solution de secours, que l’ensemble actuel de thèmes d’icônes et de chemins de secours prenne en charge ou non l’icône demandée.

Si aucune icône n’est trouvée et qu’aucun fallback n’est fourni, un QIcon vide, construit par défaut, est renvoyé.

Ces fonctions ont été introduites dans Qt 6.7.

[static] QIcon QIcon::fromTheme(const QString &name, const QIcon &fallback)

Renvoie l'QIcon correspondant à name dans le current icon theme.

Si le thème actuel ne fournit pas d’icône pour name, le fichier fallback icon theme est consulté, avant de se rabattre sur la recherche de fichiers d’icônes autonomes dans le répertoire fallback icon search path. Enfin, la bibliothèque d’icônes native de la plateforme est consultée.

Si aucune icône n’est trouvée, fallback est renvoyé.

Cette méthode est utile pour fournir une solution de secours garantie, que l’ensemble actuel de thèmes d’icônes et de chemins de secours prenne en charge ou non l’icône demandée.

Par exemple :

QIcon undoicon = QIcon::fromTheme(QIcon::ThemeIcon::EditUndo, QIcon(":/undo.png"));

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

Voir également fallbackThemeName() et fallbackSearchPaths().

[static] bool QIcon::hasThemeIcon(const QString &name)

Renvoie true s'il existe une icône disponible pour name dans le thème d'icônes actuel ou dans l'un des thèmes de secours, comme décrit par fromTheme(), sinon renvoie false.

Voir également themeSearchPaths(), fromTheme() et setThemeName().

[static, since 6.7] bool QIcon::hasThemeIcon(QIcon::ThemeIcon icon)

Renvoie ` true ` s'il existe une icône disponible pour ` icon ` dans le thème d'icônes actuel ou dans l'un des thèmes de secours, comme décrit par ` fromTheme()`, sinon renvoie ` false`.

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

Cette fonction a été introduite dans Qt 6.7.

Voir également fromTheme().

bool QIcon::isMask() const

Renvoie « true » si cette icône a été marquée comme image de masque. Certaines plateformes affichent les icônes de masque différemment (par exemple, les icônes de menu sous macOS).

Voir également setIsMask().

bool QIcon::isNull() const

Renvoie ` true ` si l'icône est vide ; sinon, renvoie ` false`.

Une icône est vide si elle ne possède ni image bitmap ni nom de fichier.

Remarque : même une icône non nulle peut ne pas permettre de créer des images valides, par exemple si le fichier n'existe pas ou ne peut pas être lu.

QString QIcon::name() const

Renvoie le nom utilisé pour créer l'icône, s'il est disponible.

Selon la manière dont l’icône a été créée, elle peut avoir un nom associé. C’est le cas des icônes créées avec fromTheme().

Voir également fromTheme() et QIconEngine::iconName().

void QIcon::paint(QPainter *painter, const QRect &rect, Qt::Alignment alignment = Qt::AlignCenter, QIcon::Mode mode = Normal, QIcon::State state = Off) const

Utilise la méthode ` painter ` pour dessiner l'icône en utilisant les paramètres spécifiés : ` alignment`, ` mode` (obligatoire) et ` state ` dans le rectangle ` rect`.

Voir également actualSize() et pixmap().

void QIcon::paint(QPainter *painter, int x, int y, int w, int h, Qt::Alignment alignment = Qt::AlignCenter, QIcon::Mode mode = Normal, QIcon::State state = Off) const

Dessine l'icône dans le rectangle QRect(x, y, w, h).

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

QPixmap QIcon::pixmap(const QSize &size, QIcon::Mode mode = Normal, QIcon::State state = Off) const

Renvoie une image pixel (pixmap) avec les paramètres ` size`, ` mode` et ` state` demandés, en en générant une si nécessaire. L'image pixel peut être plus petite que la taille demandée, mais jamais plus grande, sauf si le rapport pixel-périphérique de l'image pixel renvoyée est supérieur à 1.

Voir également actualSize() et paint().

QPixmap QIcon::pixmap(int extent, QIcon::Mode mode = Normal, QIcon::State state = Off) const

Renvoie une image de taille QSize(extent, extent). L'image peut être plus petite que la taille demandée, mais jamais plus grande, sauf si le rapport pixel-périphérique de l'image renvoyée est supérieur à 1.

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

[since 6.0] QPixmap QIcon::pixmap(const QSize &size, qreal devicePixelRatio, QIcon::Mode mode = Normal, QIcon::State state = Off) const

Renvoie une image pixel (pixmap) avec les valeurs demandées pour ` size`, ` devicePixelRatio`, ` mode` et ` state`, en générant si nécessaire une image avec les valeurs indiquées pour ` mode ` et ` state `. L'image pixel peut être plus petite que la taille demandée, mais jamais plus grande, sauf si le rapport de pixels de l'appareil (device-pixel ratio) de l'image renvoyée est supérieur à 1.

Remarque : le devicePixelRatio demandé peut ne pas correspondre à celui renvoyé. Cela retarde la mise à l’échelle de l’ QPixmap jusqu’à ce qu’elle soit dessinée ultérieurement.

Remarque : avant Qt 6.8, cette fonction transmettait à tort la taille de l'image bitmap dépendante du périphérique à ` QIconEngine::scaledPixmap()` ; depuis Qt 6.8, c'est la taille indépendante du périphérique qui est transmise (non mise à l'échelle avec ` devicePixelRatio`).

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

Cette fonction a été introduite dans Qt 6.0.

Voir également actualSize() et paint().

QPixmap QIcon::pixmap(int w, int h, QIcon::Mode mode = Normal, QIcon::State state = Off) const

Renvoie une image de taille QSize(w, h). L'image peut être plus petite que la taille demandée, mais jamais plus grande, sauf si le rapport pixel-périphérique de l'image renvoyée est supérieur à 1.

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

[static] void QIcon::setFallbackSearchPaths(const QStringList &paths)

Définit les chemins de recherche de secours pour les icônes sur paths.

Les chemins de recherche de secours sont consultés pour les fichiers d'icônes autonomes si les chemins current icon theme ou fallback icon theme ne fournissent aucun résultat lors de la recherche d'une icône.

Par exemple :

QIcon::setFallbackSearchPaths(QIcon::fallbackSearchPaths() << "my/search/path");

Voir également fallbackSearchPaths() et setThemeSearchPaths().

[static] void QIcon::setFallbackThemeName(const QString &name)

Définit le thème d'icônes de secours sur name.

Le thème d'icônes de secours est utilisé pour les icônes non fournies par current icon theme, ou si current icon theme n'existe pas.

Le fichier name doit correspondre à un thème au format décrit par la fonction setThemeName() et sera recherché dans le répertoire themeSearchPaths().

Remarque : les thèmes d’icônesde secours doivent être définis avant la création de ` QGuiApplication`, afin de garantir une initialisation correcte.

Voir également fallbackThemeName(), themeSearchPaths() et themeName().

void QIcon::setIsMask(bool isMask)

Indique que cette icône est une image de masque ( isMask de type booléen) et qu'elle peut donc être modifiée en fonction de l'endroit où elle s'affiche.

Voir également isMask().

[static] void QIcon::setThemeName(const QString &name)

Définit le thème d'icônes actuel sur « name ».

Si le thème correspond au nom d’une police installée fournissant des glyphes nommés, les appels à QIcon::fromTheme correspondant à l’un de ces glyphes généreront alors une icône pour ce glyphe.

Sinon, le thème sera recherché dans themeSearchPaths(). Pour l’instant, le seul format de thème d’icônes pris en charge est la spécification Freedesktop Icon Theme Specification. Le paramètre name doit correspondre à un nom de répertoire dans themeSearchPath() contenant un fichier index.theme décrivant son contenu.

Voir également themeSearchPaths(), themeName() et la spécification Freedesktop Icon Theme.

[static] void QIcon::setThemeSearchPaths(const QStringList &paths)

Définit les chemins de recherche des thèmes d'icônes sur paths.

Le contenu de paths doit respecter le format de thème décrit à l'adresse setThemeName().

Voir également themeSearchPaths(), fromTheme() et setThemeName().

[noexcept] void QIcon::swap(QIcon &other)

Remplace cette icône par other. Cette opération est très rapide et ne pose jamais de problème.

[static] QString QIcon::themeName()

Renvoie le nom du thème d'icônes actuel.

Si ce paramètre n'est pas défini, le thème d'icônes actuel sera déterminé par la plate-forme.

Remarque : les thèmes d'icônesde la plate-forme ne sont pour l'instant implémentés que sur les systèmes basés sur Freedesktop, et le thème d'icônes dépend de vos paramètres de bureau.

Voir également setThemeName(), themeSearchPaths(), fromTheme() et hasThemeIcon().

[static] QStringList QIcon::themeSearchPaths()

Renvoie les chemins de recherche pour les thèmes d'icônes.

Les chemins de recherche par défaut sont définis par la plate-forme. Toutes les plates-formes disposent également du répertoire de ressources :\icons en guise de solution de secours.

Voir également setThemeSearchPaths(), fromTheme() et setThemeName().

QIcon::operator QVariant() const

Renvoie l'icône sous la forme d'un objet de type ` QVariant`.

[noexcept] QIcon &QIcon::operator=(QIcon &&other)

Cette opération attribue l'other à cette instance QIcon.

QIcon &QIcon::operator=(const QIcon &other)

Attribue l'icône « other » à cette icône et renvoie une référence à celle-ci.

Éléments non membres associés

QDataStream &operator<<(QDataStream &stream, const QIcon &icon)

Écrit l'icon on fournie dans le flux stream sous forme d'image PNG. Si l'icône contient plusieurs images, toutes seront écrites dans le flux. Notez que l'écriture du flux dans un fichier ne produira pas de fichier image valide.

QDataStream &operator>>(QDataStream &stream, QIcon &icon)

Lit une image, ou un ensemble d'images, à partir de l'stream spécifiée et les écrit dans l'icon spécifiée.

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