Sur cette page

QIcon Class

La classe QIcon fournit des icônes évolutives dans différents modes et états. Plus d'informations...

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

Une QIcon peut générer des pixmaps plus petits, plus grands, actifs et désactivés à partir de l'ensemble des pixmaps qui lui sont fournis. Ces pixmaps sont utilisés par les composants Qt UI pour afficher une icône représentant une action particulière.

Création d'une icône à partir de fichiers images

La manière la plus simple de construire une QIcon est de la créer à partir d'un ou plusieurs fichiers images ou ressources. Par exemple :

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

QIcon peut stocker plusieurs images pour 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 nécessaires, par exemple, la pixmap pour l'état QIcon::Disabled peut être générée en grisant l'une des pixmaps fournies.

Pour effacer l'icône, il suffit de mettre une icône nulle à sa place :

button->setIcon(QIcon());

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

Remarque : si vous utilisez un fichier image SVG, veillez à l'ajouter avant tout autre fichier non SVG, afin que le bon site icon engine soit sélectionné.

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

La façon la plus pratique de construire une icône est d'utiliser la fonction d'usine fromTheme(). Qt implémente l'accès à la bibliothèque d'icônes natives sur les plateformes qui supportent la spécification de thème d'icônes Freedesktop.

Les applications peuvent utiliser la 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épertoire correspondante pour les fichiers d'images.

Depuis Qt 6.7, Qt fournit également un accès à la bibliothèque d'icônes natives sur macOS, iOS, et Windows 10 et 11. Sur Android, Qt peut accéder aux icônes du système Material design tant que la police MaterialIcons-Regular est disponible sur le système, ou regroupée en tant que ressource à l'adresse :/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 theme name avec le nom de famille de la police et 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 la forme d'un fichier application font.

Moteurs d'icônes

En interne, QIcon instancie un backend icon engine pour gérer et rendre 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 gérés par le même moteur.

Les moteurs d'icônes diffèrent dans la manière dont ils gèrent et rendent les icônes. Le moteur par défaut basé sur les pixmaps ne traite que les images fixes, tandis que le module QtSvg fournit un moteur d'icônes qui peut rendre les fichiers graphiques vectoriels fournis à la taille demandée pour une meilleure qualité. Les moteurs d'icônes des thèmes ne fournissent généralement que des images provenant de la bibliothèque d'icônes de la plate-forme native et ignorent tout fichier ou pixmap ajouté.

En outre, 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érents suffixes de fichiers, ce qui permet à des tiers de fournir des moteurs d'icônes supplémentaires à ceux inclus dans Qt.

Utilisation de QIcon dans l'interface utilisateur

Si vous écrivez vos propres widgets qui ont une option pour définir une petite pixmap, envisagez de permettre à une QIcon d'être définie pour cette pixmap. QToolButton La classe Qt Widgets est un exemple de widget de ce type.

Fournissez une méthode pour définir un QIcon, et peignez le QIcon avec 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 un pixmap en utilisant pixmap(QSize, Mode, State), et qu'aucun pixmap pour cette taille, ce mode et cet état n'a été ajouté avec addFile() ou addPixmap(), QIcon en génère un à la volée. Cette génération de pixmap se fait dans un moteur QIconEngine. Le moteur par défaut réduit les pixmaps si nécessaire, mais ne les augmente jamais, et il utilise le style actuel pour calculer l'apparence désactivée.

Vous pouvez également utiliser le mode Active, en rendant votre widget Active lorsque la souris est au-dessus du widget (voir QWidget::enterEvent()), lorsque la souris est pressée 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 basculé, le mode "On" peut être utilisé pour dessiner une icône différente.

Les QIcons générées à partir de la bibliothèque d'icônes natives 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 ou de l'action de l'interface utilisateur. Dans une application Qt Quick, cela peut être fait avec un binding.

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

QIcon

Remarque : QIcon a besoin d'une instance 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 natives ou générées à partir des glyphes d'une police d'icônes sont généralement basées sur des graphiques vectoriels et seront automatiquement rendues dans la résolution appropriée.

Si vous fournissez vos propres fichiers d'images via addFile(), QIcon utilisera "@nx" high DPI syntax, ce qui est utile si vous avez votre propre structure de répertoire et que vous n'utilisez pas la spécification de thème d'icônes Freedesktop.

Lorsque vous fournissez un thème d'application, vous devez suivre la spécification du thème d'icônes pour spécifier les fichiers à utiliser pour les différentes résolutions. Pour que QIcon utilise la version haute DPI d'une image, ajoutez une entrée supplémentaire au fichier index.theme approprié :

[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

Membre Type Documentation

enum QIcon::Mode

Ce type d'énumération décrit le mode pour lequel une pixmap est destinée à être utilisée. Les modes actuellement définis sont les suivants

ConstanteValeurDescription
QIcon::Normal0Afficher la pixmap lorsque l'utilisateur n'interagit pas avec l'icône, mais que la fonctionnalité représentée par l'icône est disponible.
QIcon::Disabled1Afficher la pixmap lorsque la fonctionnalité représentée par l'icône n'est pas disponible.
QIcon::Active2Afficher la pixmap 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::Selected3Afficher la pixmap lorsque l'élément représenté par l'icône est sélectionné.

enum QIcon::State

Cette énumération décrit l'état dans lequel une pixmap est destinée à être utilisée. L'état peut être

une constanteValeurDescription
QIcon::On0Afficher la pixmap lorsque le widget est dans un état "allumé".
QIcon::Off1Afficher la pixmap lorsque le widget est dans un état "éteint".

[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 pour l'action de création d'un nouveau carnet d'adresses.
QIcon::ThemeIcon::ApplicationExit1L'icône permettant de quitter une application.
QIcon::ThemeIcon::AppointmentNew2L'icône de l'action permettant de créer un nouveau rendez-vous.
QIcon::ThemeIcon::CallStart3L'icône permettant d'initier ou d'accepter un appel.
QIcon::ThemeIcon::CallStop4L'icône pour arrêter un appel en cours.
QIcon::ThemeIcon::ContactNew5L'icône de l'action pour créer un nouveau contact.
QIcon::ThemeIcon::DocumentNew6L'icône de l'action pour créer un nouveau document.
QIcon::ThemeIcon::DocumentOpen7L'icône de l'action pour ouvrir un document.
QIcon::ThemeIcon::DocumentOpenRecent8L'icône de l'action d'ouverture d'un document récemment ouvert.
QIcon::ThemeIcon::DocumentPageSetup9L'icône de l'action de mise en page.
QIcon::ThemeIcon::DocumentPrint10L'icône de l'action d'impression.
QIcon::ThemeIcon::DocumentPrintPreview11L'icône de l'action d'aperçu avant impression.
QIcon::ThemeIcon::DocumentProperties12L'icône de l'action de visualisation des propriétés d'un document.
QIcon::ThemeIcon::DocumentRevert13L'icône de l'action de revenir à une version précédente d'un document.
QIcon::ThemeIcon::DocumentSave14L'icône de l'action enregistrer.
QIcon::ThemeIcon::DocumentSaveAs15L'icône de l'action enregistrer sous.
QIcon::ThemeIcon::DocumentSend16L'icône de l'action envoyer.
QIcon::ThemeIcon::EditClear17L'icône de l'action effacer.
QIcon::ThemeIcon::EditCopy18L'icône de l'action copier.
QIcon::ThemeIcon::EditCut19L'icône de l'action couper.
QIcon::ThemeIcon::EditDelete20L'icône de l'action supprimer.
QIcon::ThemeIcon::EditFind21L'icône de l'action rechercher.
QIcon::ThemeIcon::EditPaste22L'icône de l'action coller.
QIcon::ThemeIcon::EditRedo23L'icône de l'action refaire.
QIcon::ThemeIcon::EditSelectAll24L'icône de l'action sélectionner tout.
QIcon::ThemeIcon::EditUndo25L'icône de l'action annuler.
QIcon::ThemeIcon::FolderNew26L'icône pour la création d'un nouveau dossier.
QIcon::ThemeIcon::FormatIndentLess27L'icône pour l'action de formatage diminuer l'indentation.
QIcon::ThemeIcon::FormatIndentMore28L'icône pour l'action de mise en forme de l 'augmentation de l'indentation.
QIcon::ThemeIcon::FormatJustifyCenter29L'icône pour l'action de mise en forme de la justification centrale.
QIcon::ThemeIcon::FormatJustifyFill30L'icône pour l'action de mise en forme de la justification de remplissage.
QIcon::ThemeIcon::FormatJustifyLeft31L'icône pour l'action de mise en forme de la justification gauche.
QIcon::ThemeIcon::FormatJustifyRight32L'icône pour l'action de mise en forme de la justification droite.
QIcon::ThemeIcon::FormatTextDirectionLtr33L'icône pour l'action de mise en forme du texte de gauche à droite.
QIcon::ThemeIcon::FormatTextDirectionRtl34L'icône de l'action de mise en forme du texte de droite à gauche.
QIcon::ThemeIcon::FormatTextBold35L'icône pour l'action de mise en forme du texte en gras.
QIcon::ThemeIcon::FormatTextItalic36L'icône de l'action de mise en forme du texte en italique.
QIcon::ThemeIcon::FormatTextUnderline37L'icône pour l'action de mise en forme du texte souligné.
QIcon::ThemeIcon::FormatTextStrikethrough38L'icône pour l'action de mise en forme du texte barré.
QIcon::ThemeIcon::GoDown39L'icône pour l'action descendre dans une liste.
QIcon::ThemeIcon::GoHome40L'icône pour l'action aller à l'emplacement d'origine.
QIcon::ThemeIcon::GoNext41L'icône pour l'action aller à l'élément suivant dans une liste.
QIcon::ThemeIcon::GoPrevious42L'icône pour l'action aller à l'élément précédent dans une liste.
QIcon::ThemeIcon::GoUp43L'icône de l'action "remonter" dans une liste.
QIcon::ThemeIcon::HelpAbout44L'icône de la rubrique A propos dans le menu Aide.
QIcon::ThemeIcon::HelpFaq45L'icône de l'élément FAQ dans le menu Aide.
QIcon::ThemeIcon::InsertImage46L'icône de l'action d'insertion d'une image dans une application.
QIcon::ThemeIcon::InsertLink47L'icône pour l'action d'insertion de lien d' une application.
QIcon::ThemeIcon::InsertText48L'icône pour l'action d'insertion de texte d'une application.
QIcon::ThemeIcon::ListAdd49L'icône de l'action ajouter à la liste.
QIcon::ThemeIcon::ListRemove50L'icône de l'action supprimer de la liste.
QIcon::ThemeIcon::MailForward51L'icône de l'action faire suivre.
QIcon::ThemeIcon::MailMarkImportant52L'icône de l'action marquer comme important.
QIcon::ThemeIcon::MailMarkRead53L'icône de l'action marquer comme lu.
QIcon::ThemeIcon::MailMarkUnread54L'icône pour l'action marquer comme non lu.
QIcon::ThemeIcon::MailMessageNew55L'icône pour l'action composer un nouveau courrier.
QIcon::ThemeIcon::MailReplyAll56L'icône de l'action répondre à tous.
QIcon::ThemeIcon::MailReplySender57L'icône de l'action répondre à l 'expéditeur.
QIcon::ThemeIcon::MailSend58L'icône de l'action envoyer.
QIcon::ThemeIcon::MediaEject59L'icône de l'action éjecter d'un lecteur multimédia ou d'un gestionnaire de fichiers.
QIcon::ThemeIcon::MediaPlaybackPause60L'icône de l'action pause d'un lecteur multimédia.
QIcon::ThemeIcon::MediaPlaybackStart61L'icône de l'action démarrer la lecture d' un lecteur multimédia.
QIcon::ThemeIcon::MediaPlaybackStop62L'icône de l'action d'arrêt d' un lecteur multimédia.
QIcon::ThemeIcon::MediaRecord63L'icône de l'action d'enregistrement d 'une application multimédia.
QIcon::ThemeIcon::MediaSeekBackward64L'icône de l'action de recherche arrière d' un lecteur multimédia.
QIcon::ThemeIcon::MediaSeekForward65L'icône de l'action de recherche avant d' un lecteur multimédia.
QIcon::ThemeIcon::MediaSkipBackward66L'icône pour l'action de saut en arrière d' un lecteur multimédia.
QIcon::ThemeIcon::MediaSkipForward67L'icône de l'action de saut vers l'avant d' un lecteur multimédia.
QIcon::ThemeIcon::ObjectRotateLeft68L'icône de l'action de rotation vers la gauche effectuée sur un objet.
QIcon::ThemeIcon::ObjectRotateRight69L'icône de l'action de rotation vers la droite effectuée sur un objet.
QIcon::ThemeIcon::ProcessStop70L'icône de l'action d'arrêt dans les applications dont les actions peuvent prendre un certain temps, comme le chargement d'une page web dans un navigateur.
QIcon::ThemeIcon::SystemLockScreen71L'icône de l'action " écran de verrouillage ".
QIcon::ThemeIcon::SystemLogOut72L'icône de l'action de déconnexion.
QIcon::ThemeIcon::SystemSearch73L'icône de l'action de recherche.
QIcon::ThemeIcon::SystemReboot74L'icône de l'action de redémarrage.
QIcon::ThemeIcon::SystemShutdown75L'icône de l'action d'arrêt.
QIcon::ThemeIcon::ToolsCheckSpelling76L'icône de l'action vérifier l'orthographe.
QIcon::ThemeIcon::ViewFullscreen77L'icône de l'action plein écran.
QIcon::ThemeIcon::ViewRefresh78L'icône de l'action rafraîchir.
QIcon::ThemeIcon::ViewRestore79L'icône pour quitter la vue en plein écran.
QIcon::ThemeIcon::WindowClose80L'icône de l'action fermer la fenêtre.
QIcon::ThemeIcon::WindowNew81L'icône pour l'action nouvelle fenêtre.
QIcon::ThemeIcon::ZoomFitBest82L'icône de l'action " meilleur ajustement".
QIcon::ThemeIcon::ZoomIn83L'icône de l'action zoom avant.
QIcon::ThemeIcon::ZoomOut84L'icône de l'action zoom arrière.
QIcon::ThemeIcon::AudioCard85L'icône du dispositif de rendu audio.
QIcon::ThemeIcon::AudioInputMicrophone86L'icône du dispositif d'entrée audio du microphone.
QIcon::ThemeIcon::Battery87L'icône de la batterie du système.
QIcon::ThemeIcon::CameraPhoto88L'icône d'un appareil photo numérique.
QIcon::ThemeIcon::CameraVideo89L'icône d'une caméra vidéo.
QIcon::ThemeIcon::CameraWeb90L'icône d'une caméra web.
QIcon::ThemeIcon::Computer91L'icône du dispositif informatique dans son ensemble.
QIcon::ThemeIcon::DriveHarddisk92L'icône des disques durs.
QIcon::ThemeIcon::DriveOptical93L'icône des lecteurs de supports optiques tels que les CD et les DVD.
QIcon::ThemeIcon::InputGaming94L'icône du périphérique d'entrée de jeu.
QIcon::ThemeIcon::InputKeyboard95L'icône du clavier.
QIcon::ThemeIcon::InputMouse96L'icône du périphérique de saisie de la souris.
QIcon::ThemeIcon::InputTablet97L'icône des périphériques d'entrée pour tablettes graphiques.
QIcon::ThemeIcon::MediaFlash98L'icône d'un support flash, tel qu'une clé USB.
QIcon::ThemeIcon::MediaOptical99L'icône des supports optiques physiques tels que les CD et les DVD.
QIcon::ThemeIcon::MediaTape100L'icône des supports physiques génériques.
QIcon::ThemeIcon::MultimediaPlayer101L'icône des périphériques de lecture multimédia génériques.
QIcon::ThemeIcon::NetworkWired102L'icône des connexions réseau filaires.
QIcon::ThemeIcon::NetworkWireless103L'icône des connexions réseau sans fil.
QIcon::ThemeIcon::Phone104L'icône des appareils téléphoniques.
QIcon::ThemeIcon::Printer105L'icône d'un périphérique d'impression.
QIcon::ThemeIcon::Scanner106L'icône d'un scanner.
QIcon::ThemeIcon::VideoDisplay107L'icône du moniteur sur lequel la vidéo est affichée.
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 utilisée pour indiquer un volume audio élevé.
QIcon::ThemeIcon::AudioVolumeLow111L'icône utilisée pour indiquer un volume audio faible.
QIcon::ThemeIcon::AudioVolumeMedium112L'icône utilisée pour indiquer un volume audio moyen.
QIcon::ThemeIcon::AudioVolumeMuted113L'icône utilisée pour indiquer la mise en sourdine de la lecture audio.
QIcon::ThemeIcon::BatteryCaution114L'icône utilisée lorsque la batterie est inférieure à 40 %.
QIcon::ThemeIcon::BatteryLow115L'icône utilisée lorsque la batterie est inférieure à 20 %.
QIcon::ThemeIcon::DialogError116L'icône utilisée lorsqu'une boîte de dialogue est ouverte pour expliquer une condition d'erreur à l'utilisateur.
QIcon::ThemeIcon::DialogInformation117L'icône utilisée lorsqu'une boîte de dialogue est ouverte pour donner à l'utilisateur des informations pertinentes pour l'action demandée.
QIcon::ThemeIcon::DialogPassword118L'icône utilisée lors de l'ouverture d'une boîte de dialogue demandant les informations d'authentification d'un utilisateur.
QIcon::ThemeIcon::DialogQuestion119L'icône utilisée lorsqu'une boîte de dialogue est ouverte pour poser une question simple à l'utilisateur.
QIcon::ThemeIcon::DialogWarning120L'icône utilisée lorsqu'une boîte de dialogue est ouverte pour avertir l'utilisateur de problèmes imminents liés à l'action demandée.
QIcon::ThemeIcon::FolderDragAccept121L'icône utilisée pour un dossier pendant qu'un objet acceptable est glissé dessus.
QIcon::ThemeIcon::FolderOpen122L'icône utilisée pour les dossiers, lorsque leur contenu est affiché dans la même fenêtre.
QIcon::ThemeIcon::FolderVisiting123L'icône utilisée pour les dossiers, alors que leur contenu est affiché 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 répétition d'un lecteur multimédia.
QIcon::ThemeIcon::MediaPlaylistShuffle131L'icône du mode aléatoire d'un lecteur multimédia.
QIcon::ThemeIcon::NetworkOffline132L'icône utilisée pour indiquer que l'appareil n'est pas connecté au réseau.
QIcon::ThemeIcon::PrinterPrinting133L'icône utilisée lorsqu'un travail d'impression est envoyé avec succès 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 connu pour être élevé.
QIcon::ThemeIcon::SecurityLow135L'icône utilisée pour indiquer que le niveau de sécurité d'un élément est réputé faible.
QIcon::ThemeIcon::SoftwareUpdateAvailable136L'icône utilisée pour indiquer qu'une mise à jour est disponible.
QIcon::ThemeIcon::SoftwareUpdateUrgent137L'icône utilisée pour indiquer 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 les appareils.
QIcon::ThemeIcon::SyncSynchronizing139Icône utilisée lorsque la synchronisation des données entre les appareils est réussie.
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 que le temps est brumeux.
QIcon::ThemeIcon::WeatherShowers147L'icône utilisée pour indiquer qu'il y a des averses de pluie.
QIcon::ThemeIcon::WeatherSnow148L'icône utilisée pour indiquer que la neige tombe.
QIcon::ThemeIcon::WeatherStorm149L'icône utilisée pour indiquer que le temps est orageux.

Cette liste a été introduite dans Qt 6.7.

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

Documentation des fonctions membres

[noexcept] QIcon::QIcon()

Construit une icône nulle.

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

Crée une icône avec une icône spécifique engine. L'icône devient propriétaire du moteur.

QIcon::QIcon(const QPixmap &pixmap)

Construit une icône à partir d'un pixmap.

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

Construit une icône à partir du fichier avec l'adresse fileName. Le fichier sera chargé à la demande.

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

Le nom du fichier peut faire référence à un fichier réel sur le disque ou à l'une des ressources intégrées de l'application. Voir la vue d'ensemble 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 une liste complète des formats de fichiers pris en charge.

QIcon::QIcon(const QIcon &other)

Construit une copie de other, ce qui est très rapide.

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

Move-construit une instance de QIcon, en la faisant pointer sur le même objet que celui vers lequel other pointait.

[noexcept] QIcon::~QIcon()

Détruit 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 objets 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 important pour les pixmaps à haute résolution).

Voir aussi 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'adresse est fileName, 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.

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

Le nom du fichier peut faire référence à un fichier réel sur le disque ou à l'une des ressources intégrées de l'application. Voir la vue d'ensemble 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 une liste complète des formats de fichiers pris en charge.

S'il existe une version haute résolution de l'image (identifiée par le suffixe @2x dans le nom de la base), elle est automatiquement chargée et ajoutée avec un rapport de pixels de 2. Ceci peut être désactivé 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 à 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 pour mode et state.

Les moteurs d'icônes personnalisés sont libres d'ignorer les pixmaps ajoutés.

Voir aussi 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 sites mode et state spécifiés.

qint64 QIcon::cacheKey() const

Renvoie un nombre qui identifie 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 clé cacheKey() change lorsque l'icône est modifiée via addPixmap() ou addFile().

Les clés de cache sont surtout utiles dans le cadre de la mise en cache.

Voir aussi 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 current icon theme ou fallback icon theme ne fournissent pas de résultats pour une recherche d'icônes.

S'il n'est pas défini, les chemins de recherche de secours seront définis par la plate-forme.

Voir également setFallbackSearchPaths() et themeSearchPaths().

[static] QString QIcon::fallbackThemeName()

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

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

Remarque : les thèmes d'icônes de secours de 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 des paramètres de votre bureau.

Voir aussi setFallbackThemeName() et themeName().

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

Renvoie l'icône QIcon correspondant à name dans current icon theme.

Si le thème actuel ne fournit pas d'icône pour name, fallback icon theme est consulté, avant de rechercher des fichiers d'icônes autonomes dans 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 du thème d'icônes actuel :

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

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

Voir aussi themeName(), fallbackThemeName(), setThemeName(), themeSearchPaths(), fallbackSearchPaths(), et Freedesktop Icon Naming Specification.

[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'icône QIcon correspondant à icon dans current icon theme.

Si le thème actuel ne fournit pas d'icône pour icon, le site fallback icon theme est consulté, avant de rechercher des fichiers d'icônes autonomes dans le site 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é. Ceci est utile pour fournir une solution de repli garantie, indépendamment du fait que l'ensemble actuel des thèmes d'icônes et des chemins de repli supporte 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 et 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'icône QIcon correspondant à name dans current icon theme.

Si le thème actuel ne fournit pas d'icône pour name, la page fallback icon theme est consultée, avant de rechercher des fichiers d'icônes autonomes dans la page 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é.

Ceci est utile pour fournir une solution de repli garantie, indépendamment du fait que l'ensemble actuel de thèmes d'icônes et de chemins de repli prenne en charge l'icône demandée.

Par exemple, il s'agit d'une fonction surchargée :

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

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

Voir aussi fallbackThemeName() et fallbackSearchPaths().

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

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

Voir aussi 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 remplacement, 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 aussi fromTheme().

bool QIcon::isMask() const

Renvoie true si cette icône a été marquée comme une image de masque. Certaines plateformes rendent les icônes masquées différemment (par exemple, les icônes de menu sur macOS).

Voir aussi setIsMask().

bool QIcon::isNull() const

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

Une icône est vide si elle n'a ni pixmap ni nom de fichier.

Remarque : même une icône non vide peut ne pas être en mesure de créer des pixmaps 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 aussi 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 painter pour peindre l'icône avec les éléments spécifiés alignment, requis mode, et state dans le rectangle rect.

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

Peint 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 pixmap avec les valeurs demandées size, mode, et state, en en générant une si nécessaire. La pixmap peut être plus petite que celle demandée, mais jamais plus grande, à moins que le rapport périphérique-pixel de la pixmap renvoyée ne soit supérieur à 1.

Voir aussi 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). La pixmap peut être plus petite que celle demandée, mais jamais plus grande, à moins que le rapport périphérique-pixel de la pixmap renvoyée ne soit 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 pixmap avec les images demandées size, devicePixelRatio, mode, et state, en générant une avec les images données mode et state si nécessaire. La pixmap peut être plus petite que celle demandée, mais jamais plus grande, à moins que le rapport périphérique-pixel de la pixmap renvoyée ne soit supérieur à 1.

Note : Le devicePixelRatio demandé peut ne pas correspondre à celui renvoyé. Cela retarde la mise à l'échelle de QPixmap jusqu'à ce qu'elle soit dessinée plus tard.

Note : Avant Qt 6.8, cette fonction transmettait à tort à QIconEngine::scaledPixmap() la taille de la pixmap dépendante du périphérique. Depuis Qt 6.8, c'est la taille indépendante du périphérique (non mise à l'échelle avec devicePixelRatio).

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

Cette fonction a été introduite dans Qt 6.0.

Voir aussi 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). La pixmap peut être plus petite que celle demandée, mais jamais plus grande, à moins que le rapport périphérique-pixel de la pixmap renvoyée ne soit 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 à 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 pas de résultats pour une recherche d'icônes.

Par exemple :

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

Voir aussi fallbackSearchPaths() et setThemeSearchPaths().

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

Définit le thème d'icône de secours à name.

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

Le thème name doit correspondre au même format que celui documenté par setThemeName(), et sera recherché dans themeSearchPaths().

Remarque : les thèmes d'icônes de repli 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 masque (booléen isMask), et qu'elle peut donc potentiellement être modifiée en fonction de l'endroit où elle est affichée.

Voir aussi isMask().

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

Définit le thème de l'icône actuelle à name.

Si le thème correspond au nom d'une police installée qui fournit des glyphes nommés, les appels à QIcon::fromTheme qui correspondent à l'un des glyphes produiront 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ône supporté est le Freedesktop Icon Theme Specification. L'adresse name doit correspondre à un nom de répertoire dans themeSearchPath() contenant un fichier index.theme décrivant son contenu.

Voir aussi themeSearchPaths(), themeName(), et Freedesktop Icon Theme Specification.

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

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

Le contenu de paths doit respecter le format de thème documenté par setThemeName().

Voir aussi themeSearchPaths(), fromTheme() et setThemeName().

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

Remplace cette icône par other. Cette opération est très rapide et n'échoue jamais.

[static] QString QIcon::themeName()

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

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

Note : Les thèmes d'icônes de 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 des paramètres de votre bureau.

Voir aussi 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 plateforme. Toutes les plates-formes disposent également du répertoire de ressources :\icons comme solution de rechange.

Voir aussi setThemeSearchPaths(), fromTheme() et setThemeName().

QIcon::operator QVariant() const

Retourne l'icône sous forme de QVariant.

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

Move-assigne other à cette instance QIcon.

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

Attribue l'icône other à cette icône et renvoie une référence à cette icône.

Non-membres apparentés

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

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

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

Lit une image, ou un ensemble d'images, de l'adresse stream donnée dans l'adresse icon donné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.