QIcon Class

Die Klasse QIcon bietet skalierbare Icons in verschiedenen Modi und Zuständen. Mehr...

Kopfzeile: #include <QIcon>
CMake: find_package(Qt6 REQUIRED COMPONENTS Gui)
target_link_libraries(mytarget PRIVATE Qt6::Gui)
qmake: QT += gui

Öffentliche Typen

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

Öffentliche Funktionen

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)
QVariant operator QVariant() const
QIcon &operator=(QIcon &&other)
QIcon &operator=(const QIcon &other)

Statische öffentliche Mitglieder

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)

Detaillierte Beschreibung

Ein QIcon kann kleinere, größere, aktive und deaktivierte Pixmaps aus der Menge der ihm übergebenen Pixmaps erzeugen. Solche Pixmaps werden von Qt UI-Komponenten verwendet, um ein Icon anzuzeigen, das eine bestimmte Aktion repräsentiert.

Erstellen eines Icons aus Bilddateien

Der einfachste Weg, ein QIcon zu konstruieren, ist, es aus einer oder mehreren Bilddateien oder Ressourcen zu erstellen. Zum Beispiel:

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

QIcon kann mehrere Bilder für verschiedene Zustände speichern, und Qt wählt das Bild aus, das am besten zum aktuellen Zustand der Aktion passt.

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

Qt generiert bei Bedarf die erforderlichen Icon-Stile und -Größen, z.B. kann das Pixmap für den Zustand QIcon::Disabled durch Ausgrauen eines der bereitgestellten Pixmaps erzeugt werden.

Um das Icon zu löschen, setzen Sie einfach ein Null-Icon an dessen Stelle:

button->setIcon(QIcon());

Verwenden Sie die Funktionen QImageReader::supportedImageFormats() und QImageWriter::supportedImageFormats(), um eine vollständige Liste der unterstützten Dateiformate zu erhalten.

Erstellen eines Symbols aus einem Thema oder einer Symbolbibliothek

Der bequemste Weg, ein Icon zu erstellen, ist die Verwendung der fromTheme()-Fabrikfunktion. Qt implementiert den Zugriff auf die native Icon-Bibliothek auf Plattformen, die die Freedesktop Icon Theme Spezifikation unterstützen. Seit Qt 6.7 bietet Qt auch Zugriff auf die native Icon-Bibliothek unter macOS, iOS und Windows 10 und 11. Unter Android kann Qt auf Icons aus dem Material-Design-System zugreifen, solange die Schriftart MaterialIcons-Regular auf dem System verfügbar ist oder als Ressource unter :/qt-project.org/icons/MaterialIcons-Regular.ttf mit der Anwendung gebündelt wird.

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

Anwendungen können dieselbe Theming-Spezifikation verwenden, um ihre eigene Symbolbibliothek bereitzustellen. Im Folgenden finden Sie eine Beispielbeschreibung des Themas und die entsprechende Verzeichnisstruktur für die Bilddateien. Icons aus einem von der Anwendung bereitgestellten Thema haben Vorrang vor der eigenen Icon-Bibliothek.

Icon-Engines

Intern instanziiert QIcon ein icon engine Backend, um die Icon-Bilder zu verarbeiten und zu rendern. Der Typ der Icon-Engine wird durch die erste Datei oder Pixmap oder das erste Thema bestimmt, das zu einem QIcon-Objekt hinzugefügt wird. Weitere Dateien oder Pixmaps werden dann von der gleichen Engine verarbeitet.

Icon-Engines unterscheiden sich in der Art und Weise, wie sie Icons verarbeiten und darstellen. Die standardmäßige pixmap-basierte Engine verarbeitet nur feste Bilder, während das Modul QtSvg eine Icon-Engine bereitstellt, die die bereitgestellten Vektorgrafikdateien in der angeforderten Größe neu rendern kann, um eine bessere Qualität zu erzielen. Die Icon-Engines der Themen liefern normalerweise nur Bilder aus der plattformeigenen Icon-Bibliothek und ignorieren alle hinzugefügten Dateien oder Pixmaps.

Darüber hinaus ist es möglich, benutzerdefinierte Icon-Engines bereitzustellen. Dadurch können Anwendungen jeden Aspekt der generierten Icons anpassen. Mit QIconEnginePlugin ist es möglich, verschiedene Icon-Engines für verschiedene Dateisuffixe zu registrieren, was es Dritten ermöglicht, zusätzliche Icon-Engines zu den in Qt enthaltenen bereitzustellen.

Erstellen von Klassen, die QIcon verwenden

Wenn Sie Ihre eigenen Widgets schreiben, die eine Option zum Setzen einer kleinen Pixmap haben, sollten Sie in Erwägung ziehen, ein QIcon für diese Pixmap zu setzen. Die Qt-Klasse QToolButton ist ein Beispiel für ein solches Widget.

Bieten Sie eine Methode an, um ein QIcon zu setzen, und malen Sie das QIcon mit paint, wobei Sie die passenden Parameter basierend auf dem aktuellen Zustand Ihres Widgets auswählen. Zum Beispiel:

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

Wenn Sie eine Pixmap mit pixmap(QSize, Modus, Zustand) abrufen und keine Pixmap für diese Größe, diesen Modus und diesen Zustand mit addFile() oder addPixmap() hinzugefügt wurde, dann erzeugt QIcon eine solche sofort. Diese Pixmap-Generierung geschieht in QIconEngine. Die Standard-Engine skaliert Pixmaps bei Bedarf nach unten, aber niemals nach oben, und sie verwendet den aktuellen Stil, um ein deaktiviertes Aussehen zu berechnen.

Sie können auch den Modus Active nutzen, indem Sie Ihr Widget Active machen, wenn sich die Maus über dem Widget befindet (siehe QWidget::enterEvent()), wenn die Maus gedrückt wird, während sie auf das Loslassen wartet, das die Funktion aktiviert, oder wenn es das aktuell ausgewählte Element ist. Wenn das Widget umgeschaltet werden kann, kann der "Ein"-Modus verwendet werden, um ein anderes Symbol zu zeichnen.

QIcon

Hinweis: QIcon benötigt eine QGuiApplication Instanz, bevor das Icon erstellt wird.

High DPI Icons

Icons, die von der nativen Icon-Bibliothek bereitgestellt werden, basieren in der Regel auf Vektorgrafiken und werden automatisch in der entsprechenden Auflösung gerendert.

Wenn Sie Ihre eigenen Bilddateien über addFile() zur Verfügung stellen, wird QIcon Qt's "@nx" high DPI syntax verwenden. Dies ist nützlich, wenn Sie Ihre eigene benutzerdefinierte Verzeichnisstruktur haben und nicht die Freedesktop Icon Theme Spezifikation verwenden.

Wenn Sie ein Anwendungsthema bereitstellen, dann müssen Sie die Icon Theme Specification befolgen, um anzugeben, welche Dateien für verschiedene Auflösungen verwendet werden sollen. Um QIcon zu veranlassen, die hohe DPI-Version eines Bildes zu verwenden, fügen Sie einen zusätzlichen Eintrag in die entsprechende index.theme Datei ein:

[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

Ihr Icon Theme Verzeichnis würde dann etwa so aussehen:

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

Member Typ Dokumentation

enum QIcon::Mode

Dieser Enum-Typ beschreibt den Modus, für den eine Pixmap verwendet werden soll. Die derzeit definierten Modi sind:

KonstantWertBeschreibung
QIcon::Normal0Die Pixmap wird angezeigt, wenn der Benutzer nicht mit dem Symbol interagiert, aber die durch das Symbol dargestellte Funktionalität verfügbar ist.
QIcon::Disabled1Die Pixelgrafik wird angezeigt, wenn die durch das Symbol dargestellte Funktionalität nicht verfügbar ist.
QIcon::Active2Die Pixelgrafik wird angezeigt, wenn die durch das Symbol dargestellte Funktionalität verfügbar ist und der Benutzer mit dem Symbol interagiert, z. B. indem er die Maus darüber bewegt oder darauf klickt.
QIcon::Selected3Die Pixelgrafik wird angezeigt, wenn das durch das Symbol dargestellte Element ausgewählt ist.

enum QIcon::State

Diese Aufzählung beschreibt den Zustand, für den eine Pixmap verwendet werden soll. Der Zustand kann sein:

KonstanteWertBeschreibung
QIcon::Off1Pixmap anzeigen, wenn sich das Widget im "Aus"-Zustand befindet
QIcon::On0Zeigt die Pixelkarte an, wenn das Widget eingeschaltet ist

[since 6.7] enum class QIcon::ThemeIcon

Diese Aufzählung ermöglicht den Zugriff auf Icons, die von den meisten Icon-Theme-Implementierungen bereitgestellt werden.

KonstanteWertBeschreibung
QIcon::ThemeIcon::AddressBookNew0Das Symbol für die Aktion zum Erstellen eines neuen Adressbuchs.
QIcon::ThemeIcon::ApplicationExit1Das Icon für das Beenden einer Anwendung.
QIcon::ThemeIcon::AppointmentNew2Das Symbol für die Aktion zum Anlegen eines neuen Termins.
QIcon::ThemeIcon::CallStart3Das Symbol für das Einleiten oder Annehmen eines Anrufs.
QIcon::ThemeIcon::CallStop4Das Symbol für das Beenden eines laufenden Anrufs.
QIcon::ThemeIcon::ContactNew5Das Symbol für die Aktion zum Erstellen eines neuen Kontakts.
QIcon::ThemeIcon::DocumentNew6Das Symbol für die Aktion zum Erstellen eines neuen Dokuments.
QIcon::ThemeIcon::DocumentOpen7Das Symbol für die Aktion zum Öffnen eines Dokuments.
QIcon::ThemeIcon::DocumentOpenRecent8Das Symbol für die Aktion zum Öffnen eines Dokuments, das kürzlich geöffnet wurde.
QIcon::ThemeIcon::DocumentPageSetup9Das Symbol für die Aktion " Seite einrichten ".
QIcon::ThemeIcon::DocumentPrint10Das Symbol für die Druckaktion.
QIcon::ThemeIcon::DocumentPrintPreview11Das Symbol für die Druckvorschau-Aktion.
QIcon::ThemeIcon::DocumentProperties12Das Symbol für die Aktion zum Anzeigen der Eigenschaften eines Dokuments.
QIcon::ThemeIcon::DocumentRevert13Das Symbol für die Aktion, mit der Sie zu einer früheren Version eines Dokuments zurückkehren können.
QIcon::ThemeIcon::DocumentSave14Das Symbol für die Speicheraktion.
QIcon::ThemeIcon::DocumentSaveAs15Das Symbol für die Aktion " Speichern unter".
QIcon::ThemeIcon::DocumentSend16Das Symbol für die Aktion " Senden".
QIcon::ThemeIcon::EditClear17Das Symbol für die Aktion Löschen.
QIcon::ThemeIcon::EditCopy18Das Symbol für die Aktion Kopieren.
QIcon::ThemeIcon::EditCut19Das Symbol für die Aktion Ausschneiden.
QIcon::ThemeIcon::EditDelete20Das Symbol für die Löschaktion.
QIcon::ThemeIcon::EditFind21Das Symbol für die Aktion Suchen.
QIcon::ThemeIcon::EditPaste22Das Symbol für die Aktion Einfügen.
QIcon::ThemeIcon::EditRedo23Das Symbol für die Aktion Wiederherstellen.
QIcon::ThemeIcon::EditSelectAll24Das Symbol für die Aktion Alles auswählen.
QIcon::ThemeIcon::EditUndo25Das Symbol für die Rückgängig-Aktion.
QIcon::ThemeIcon::FolderNew26Das Symbol für das Erstellen eines neuen Ordners.
QIcon::ThemeIcon::FormatIndentLess27Das Symbol für die Aktion Einzugsformatierung verringern.
QIcon::ThemeIcon::FormatIndentMore28Das Symbol für die Formatierungsaktion " Einzug vergrößern".
QIcon::ThemeIcon::FormatJustifyCenter29Das Symbol für die Formatierungsaktion Blocksatz zentrieren.
QIcon::ThemeIcon::FormatJustifyFill30Das Symbol für die Formatierungsaktion Blocksatz füllen.
QIcon::ThemeIcon::FormatJustifyLeft31Das Symbol für die Formatierung des linken Blocksatzes.
QIcon::ThemeIcon::FormatJustifyRight32Das Symbol für den rechten Blocksatz.
QIcon::ThemeIcon::FormatTextDirectionLtr33Das Symbol für die Textformatierung von links nach rechts.
QIcon::ThemeIcon::FormatTextDirectionRtl34Das Symbol für die Formatierungsaktion "Rechts-nach-links".
QIcon::ThemeIcon::FormatTextBold35Das Symbol für die Formatierung von fettem Text.
QIcon::ThemeIcon::FormatTextItalic36Das Symbol für die Formatierung von kursivem Text.
QIcon::ThemeIcon::FormatTextUnderline37Das Symbol für die Formatierung von unterstrichenem Text.
QIcon::ThemeIcon::FormatTextStrikethrough38Das Symbol für die Textformatierung durchgestrichen.
QIcon::ThemeIcon::GoDown39Das Symbol für die Aktion " Nach unten gehen" in einer Liste.
QIcon::ThemeIcon::GoHome40Das Symbol für die Aktion " Zur Ausgangsposition wechseln".
QIcon::ThemeIcon::GoNext41Das Symbol für die Aktion " Gehe zum nächsten Element in einer Liste ".
QIcon::ThemeIcon::GoPrevious42Das Symbol für den Wechsel zum vorherigen Element in einer Liste.
QIcon::ThemeIcon::GoUp43Das Symbol für die Aktion " Nach oben" in einer Liste.
QIcon::ThemeIcon::HelpAbout44Das Symbol für den Eintrag Über im Menü Hilfe.
QIcon::ThemeIcon::HelpFaq45Das Symbol für den Eintrag FAQ im Menü Hilfe.
QIcon::ThemeIcon::InsertImage46Das Symbol für die Aktion Bild einfügen in einer Anwendung.
QIcon::ThemeIcon::InsertLink47Das Symbol für die Aktion Link einfügen in einer Anwendung.
QIcon::ThemeIcon::InsertText48Das Symbol für die Aktion Text einfügen in einer Anwendung.
QIcon::ThemeIcon::ListAdd49Das Symbol für die Aktion " Zur Liste hinzufügen".
QIcon::ThemeIcon::ListRemove50Das Symbol für die Aktion " Aus Liste entfernen".
QIcon::ThemeIcon::MailForward51Das Symbol für die Aktion Weiterleiten.
QIcon::ThemeIcon::MailMarkImportant52Das Symbol für die Aktion "Als wichtig markieren ".
QIcon::ThemeIcon::MailMarkRead53Das Symbol für die Aktion als gelesen markieren.
QIcon::ThemeIcon::MailMarkUnread54Das Icon für die Aktion als ungelesen markieren.
QIcon::ThemeIcon::MailMessageNew55Das Icon für die Aktion Neue Mail verfassen.
QIcon::ThemeIcon::MailReplyAll56Das Symbol für die Aktion Allen antworten.
QIcon::ThemeIcon::MailReplySender57Das Icon für die Aktion Antwort an Absender.
QIcon::ThemeIcon::MailSend58Das Icon für die Aktion Senden.
QIcon::ThemeIcon::MediaEject59Das Symbol für die Aktion " Auswerfen" eines Media Players oder Dateimanagers.
QIcon::ThemeIcon::MediaPlaybackPause60Das Symbol für die Aktion "Pause" eines Media Players.
QIcon::ThemeIcon::MediaPlaybackStart61Das Symbol für die Aktion Wiedergabe starten eines Mediaplayers.
QIcon::ThemeIcon::MediaPlaybackStop62Das Symbol für die Stopp-Aktion eines Media-Players.
QIcon::ThemeIcon::MediaRecord63Das Symbol für die Aufnahmeaktion einer Medienanwendung.
QIcon::ThemeIcon::MediaSeekBackward64Das Symbol für die Aktion " Rückwärts suchen" eines Media-Players.
QIcon::ThemeIcon::MediaSeekForward65Das Symbol für die Aktion Vorwärts suchen eines Media Players.
QIcon::ThemeIcon::MediaSkipBackward66Das Symbol für die Aktion "Rückwärts springen" eines Media-Players.
QIcon::ThemeIcon::MediaSkipForward67Das Symbol für die Aktion "Vorwärts springen" eines Media-Players.
QIcon::ThemeIcon::ObjectRotateLeft68Das Symbol für die Aktion "Nach links drehen", die für ein Objekt ausgeführt wird.
QIcon::ThemeIcon::ObjectRotateRight69Das Symbol für die Aktion " Nach rechts drehen" für ein Objekt.
QIcon::ThemeIcon::ProcessStop70Das Symbol für die Stopp-Aktion in Anwendungen mit Aktionen, die eine Weile dauern können, z. B. das Laden einer Webseite in einem Browser.
QIcon::ThemeIcon::SystemLockScreen71Das Symbol für die Aktion "Bildschirm sperren ".
QIcon::ThemeIcon::SystemLogOut72Das Symbol für die Aktion Abmelden.
QIcon::ThemeIcon::SystemSearch73Das Symbol für die Suchaktion.
QIcon::ThemeIcon::SystemReboot74Das Symbol für die Neustart-Aktion.
QIcon::ThemeIcon::SystemShutdown75Das Symbol für die Aktion " Herunterfahren".
QIcon::ThemeIcon::ToolsCheckSpelling76Das Symbol für die Aktion Rechtschreibprüfung.
QIcon::ThemeIcon::ViewFullscreen77Das Symbol für die Aktion " Vollbild".
QIcon::ThemeIcon::ViewRefresh78Das Symbol für die Aktion Aktualisieren.
QIcon::ThemeIcon::ViewRestore79Das Symbol für das Verlassen der Vollbildansicht.
QIcon::ThemeIcon::WindowClose80Das Symbol für die Aktion Fenster schließen.
QIcon::ThemeIcon::WindowNew81Das Symbol für die Aktion " Neues Fenster".
QIcon::ThemeIcon::ZoomFitBest82Das Symbol für die Aktion " Beste Anpassung".
QIcon::ThemeIcon::ZoomIn83Das Symbol für die Aktion " Vergrößern".
QIcon::ThemeIcon::ZoomOut84Das Symbol für die Aktion Verkleinern.
QIcon::ThemeIcon::AudioCard85Das Symbol für das Audiowiedergabegerät.
QIcon::ThemeIcon::AudioInputMicrophone86Das Symbol für das Mikrofon-Audioeingabegerät.
QIcon::ThemeIcon::Battery87Das Symbol für das Systemakku-Gerät.
QIcon::ThemeIcon::CameraPhoto88Das Symbol für eine digitale Fotokamera.
QIcon::ThemeIcon::CameraVideo89Das Symbol für ein Videokameragerät.
QIcon::ThemeIcon::CameraWeb90Das Symbol für eine Web-Kamera-Vorrichtung.
QIcon::ThemeIcon::Computer91Das Symbol für das Computergerät als Ganzes.
QIcon::ThemeIcon::DriveHarddisk92Das Symbol für Festplattenlaufwerke.
QIcon::ThemeIcon::DriveOptical93Das Symbol für Laufwerke für optische Medien wie CD und DVD.
QIcon::ThemeIcon::InputGaming94Das Symbol für das Spieleingabegerät.
QIcon::ThemeIcon::InputKeyboard95Das Symbol für das Tastatureingabegerät.
QIcon::ThemeIcon::InputMouse96Das Symbol für das Mauseingabegerät.
QIcon::ThemeIcon::InputTablet97Das Symbol für Grafiktablett-Eingabegeräte.
QIcon::ThemeIcon::MediaFlash98Das Symbol für Flash-Medien, wie z. B. einen Memory Stick.
QIcon::ThemeIcon::MediaOptical99Das Symbol für physische optische Medien wie CD und DVD.
QIcon::ThemeIcon::MediaTape100Das Symbol für allgemeine physische Bandmedien.
QIcon::ThemeIcon::MultimediaPlayer101Das Symbol für allgemeine Multimedia-Wiedergabegeräte.
QIcon::ThemeIcon::NetworkWired102Das Symbol für kabelgebundene Netzwerkverbindungen.
QIcon::ThemeIcon::NetworkWireless103Das Symbol für drahtlose Netzwerkverbindungen.
QIcon::ThemeIcon::Phone104Das Symbol für Telefongeräte.
QIcon::ThemeIcon::Printer105Das Symbol für ein Druckergerät.
QIcon::ThemeIcon::Scanner106Das Symbol für ein Scanner-Gerät.
QIcon::ThemeIcon::VideoDisplay107Das Symbol für den Monitor, auf dem das Video angezeigt wird.
QIcon::ThemeIcon::AppointmentMissed108Das Symbol, wenn ein Termin verpasst wurde.
QIcon::ThemeIcon::AppointmentSoon109Das Symbol für einen in Kürze anstehenden Termin.
QIcon::ThemeIcon::AudioVolumeHigh110Das Symbol, das eine hohe Lautstärke anzeigt.
QIcon::ThemeIcon::AudioVolumeLow111Das Symbol für eine niedrige Lautstärke.
QIcon::ThemeIcon::AudioVolumeMedium112Das Symbol, das eine mittlere Lautstärke anzeigt.
QIcon::ThemeIcon::AudioVolumeMuted113Das Symbol, das den stummen Zustand der Audiowiedergabe anzeigt.
QIcon::ThemeIcon::BatteryCaution114Das Symbol, das verwendet wird, wenn der Akkustand unter 40 % liegt.
QIcon::ThemeIcon::BatteryLow115Das Symbol, das verwendet wird, wenn der Akkustand unter 20 % liegt.
QIcon::ThemeIcon::DialogError116Das Symbol, das verwendet wird, wenn ein Dialog geöffnet wird, um dem Benutzer einen Fehlerzustand zu erklären.
QIcon::ThemeIcon::DialogInformation117Das Symbol, das verwendet wird, wenn ein Dialog geöffnet wird, um dem Benutzer Informationen zu geben, die für die angeforderte Aktion von Bedeutung sein können.
QIcon::ThemeIcon::DialogPassword118Das Symbol, das verwendet wird, wenn ein Dialogfeld geöffnet wird, in dem die Authentifizierungsdaten eines Benutzers abgefragt werden.
QIcon::ThemeIcon::DialogQuestion119Das Symbol, das verwendet wird, wenn ein Dialog geöffnet wird, um eine einfache Frage an den Benutzer zu stellen.
QIcon::ThemeIcon::DialogWarning120Das Symbol, das verwendet wird, wenn ein Dialogfeld geöffnet wird, um den Benutzer vor drohenden Problemen mit der angeforderten Aktion zu warnen.
QIcon::ThemeIcon::FolderDragAccept121Das Symbol, das für einen Ordner verwendet wird, während ein akzeptables Objekt auf ihn gezogen wird.
QIcon::ThemeIcon::FolderOpen122Das Symbol, das für Ordner verwendet wird, während ihr Inhalt im selben Fenster angezeigt wird.
QIcon::ThemeIcon::FolderVisiting123Das Symbol, das für Ordner verwendet wird, während ihr Inhalt in einem anderen Fenster angezeigt wird.
QIcon::ThemeIcon::ImageLoading124Das Symbol, das verwendet wird, während ein anderes Bild geladen wird.
QIcon::ThemeIcon::ImageMissing125Das Symbol, das verwendet wird, wenn ein anderes Bild nicht geladen werden konnte.
QIcon::ThemeIcon::MailAttachment126Das Symbol für eine Nachricht, die Anhänge enthält.
QIcon::ThemeIcon::MailUnread127Das Symbol für eine ungelesene Nachricht.
QIcon::ThemeIcon::MailRead128Das Symbol für eine gelesene Nachricht.
QIcon::ThemeIcon::MailReplied129Das Symbol für eine Nachricht, auf die geantwortet wurde.
QIcon::ThemeIcon::MediaPlaylistRepeat130Das Symbol für den Wiederholungsmodus eines Media Players.
QIcon::ThemeIcon::MediaPlaylistShuffle131Das Symbol für den Zufallswiedergabemodus eines Media-Players.
QIcon::ThemeIcon::NetworkOffline132Das Symbol, das anzeigt, dass das Gerät nicht mit dem Netzwerk verbunden ist.
QIcon::ThemeIcon::PrinterPrinting133Das Symbol, das verwendet wird, während ein Druckauftrag erfolgreich an ein Druckgerät gespoolt wird.
QIcon::ThemeIcon::SecurityHigh134Das Symbol, das anzeigt, dass die Sicherheitsstufe eines Elements als hoch eingestuft ist.
QIcon::ThemeIcon::SecurityLow135Das Symbol, das anzeigt, dass die Sicherheitsstufe eines Objekts als niedrig eingestuft ist.
QIcon::ThemeIcon::SoftwareUpdateAvailable136Das Symbol, das anzeigt, dass eine Aktualisierung verfügbar ist.
QIcon::ThemeIcon::SoftwareUpdateUrgent137Das Symbol, das anzeigt, dass eine dringende Aktualisierung verfügbar ist.
QIcon::ThemeIcon::SyncError138Das Symbol, das verwendet wird, wenn beim Versuch, Daten zwischen Geräten zu synchronisieren, ein Fehler auftritt.
QIcon::ThemeIcon::SyncSynchronizing139Das Symbol, das verwendet wird, wenn die Daten erfolgreich zwischen den Geräten synchronisiert werden.
QIcon::ThemeIcon::UserAvailable140Das Symbol, das anzeigt, dass ein Benutzer verfügbar ist.
QIcon::ThemeIcon::UserOffline141Das Symbol, das anzeigt, dass ein Benutzer nicht verfügbar ist.
QIcon::ThemeIcon::WeatherClear142Das Symbol, das anzeigt, dass der Himmel klar ist.
QIcon::ThemeIcon::WeatherClearNight143Das Symbol, das anzeigt, dass der Himmel in der Nacht klar ist.
QIcon::ThemeIcon::WeatherFewClouds144Das Symbol, das anzeigt, dass der Himmel teilweise bewölkt ist.
QIcon::ThemeIcon::WeatherFewCloudsNight145Das Symbol, das anzeigt, dass der Himmel in der Nacht teilweise bewölkt ist.
QIcon::ThemeIcon::WeatherFog146Das Symbol, das anzeigt, dass das Wetter neblig ist.
QIcon::ThemeIcon::WeatherShowers147Das Symbol, das anzeigt, dass es Regenschauer gibt.
QIcon::ThemeIcon::WeatherSnow148Das Symbol, das anzeigt, dass Schnee fällt.
QIcon::ThemeIcon::WeatherStorm149Das Symbol, das verwendet wird, um anzuzeigen, dass das Wetter stürmisch ist.

Diese Aufzählung wurde in Qt 6.7 eingeführt.

Siehe auch QIcon#Creating an icon from a theme or icon library und fromTheme().

Dokumentation der Mitgliedsfunktionen

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

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

Dies ist eine überladene Funktion.

Gibt das QIcon zurück, das icon im current icon theme entspricht.

Wenn das aktuelle Thema kein Symbol für icon bereitstellt, wird fallback icon theme konsultiert, bevor auf die Suche nach eigenständigen Symboldateien in fallback icon search path zurückgegriffen wird. Schließlich wird die plattformeigene Symbolbibliothek konsultiert.

Wenn kein Symbol gefunden wird und ein fallback bereitgestellt wird, wird fallback zurückgegeben. Dies ist nützlich, um einen garantierten Fallback zu bieten, unabhängig davon, ob der aktuelle Satz von Icon-Themen und Fallback-Pfaden das angeforderte Icon unterstützt.

Wenn kein Icon gefunden wird und kein fallback angegeben wird, wird ein standardmäßig konstruiertes, leeres QIcon zurückgegeben.

Diese Funktion wurde in Qt 6.7 eingeführt.

[noexcept] QIcon::QIcon()

Konstruiert ein Null-Symbol.

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

Erzeugt ein Symbol mit einem bestimmten Symbol engine. Das Symbol übernimmt das Eigentum an der Engine.

QIcon::QIcon(const QPixmap &pixmap)

Konstruiert ein Symbol aus einem pixmap.

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

Konstruiert ein Icon aus der Datei mit dem angegebenen fileName. Die Datei wird bei Bedarf geladen.

Wenn fileName einen relativen Pfad enthält (z. B. nur den Dateinamen), muss die entsprechende Datei relativ zum Arbeitsverzeichnis der Laufzeit gefunden werden.

Der Dateiname kann sich auf eine tatsächliche Datei auf der Festplatte oder auf eine der eingebetteten Ressourcen der Anwendung beziehen. In der Übersicht über das Ressourcensystem finden Sie Einzelheiten zum Einbetten von Bildern und anderen Ressourcendateien in die ausführbare Datei der Anwendung.

Verwenden Sie die Funktionen QImageReader::supportedImageFormats() und QImageWriter::supportedImageFormats(), um eine vollständige Liste der unterstützten Dateiformate abzurufen.

QIcon::QIcon(const QIcon &other)

Konstruiert eine Kopie von other. Dies ist sehr schnell.

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

Move-konstruiert eine QIcon-Instanz, die auf das gleiche Objekt zeigt, auf das other gezeigt hat.

[noexcept] QIcon::~QIcon()

Zerstört das Symbol.

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

Gibt die tatsächliche Größe des Symbols für die angeforderten size, mode und state zurück. Das Ergebnis kann kleiner als angefordert sein, aber niemals größer. Die zurückgegebene Größe wird in geräteunabhängigen Pixeln angegeben (Dies ist für Pixmaps mit hoher Auflösung relevant).

Siehe auch pixmap() und paint().

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

Fügt dem Icon ein Bild aus der Datei mit dem angegebenen fileName hinzu, als Spezialisierung für size, mode und state. Die Datei wird bei Bedarf geladen. Hinweis: Benutzerdefinierten Icon-Engines steht es frei, zusätzlich hinzugefügte Pixmaps zu ignorieren.

Wenn fileName einen relativen Pfad enthält (z. B. nur den Dateinamen), muss die entsprechende Datei relativ zum Arbeitsverzeichnis der Laufzeit gefunden werden.

Der Dateiname kann sich auf eine tatsächliche Datei auf der Festplatte oder auf eine der eingebetteten Ressourcen der Anwendung beziehen. In der Übersicht über das Ressourcensystem finden Sie Einzelheiten zum Einbetten von Bildern und anderen Ressourcendateien in die ausführbare Datei der Anwendung.

Verwenden Sie die Funktionen QImageReader::supportedImageFormats() und QImageWriter::supportedImageFormats(), um eine vollständige Liste der unterstützten Dateiformate abzurufen.

Wenn eine hochauflösende Version des Bildes vorhanden ist (gekennzeichnet durch das Suffix @2x am Basisnamen), wird es automatisch geladen und mit einem Pixelverhältnis von 2 hinzugefügt. Dies kann durch Setzen der Umgebungsvariablen QT_HIGHDPI_DISABLE_2X_IMAGE_LOADING (siehe QImageReader) deaktiviert werden.

Hinweis: Wenn Sie einen nicht leeren Dateinamen zu einem QIcon hinzufügen, wird das Symbol nicht leer, auch wenn die Datei nicht existiert oder auf eine beschädigte Datei verweist.

Siehe auch addPixmap() und QPixmap::devicePixelRatio().

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

Fügt pixmap zum Symbol hinzu, als Spezialisierung für mode und state.

Benutzerdefinierte Icon-Engines können zusätzlich hinzugefügte Pixmaps ignorieren.

Siehe auch addFile().

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

Gibt eine Liste der verfügbaren Symbolgrößen für die angegebenen mode und state zurück.

qint64 QIcon::cacheKey() const

Gibt eine Nummer zurück, die den Inhalt dieses QIcon Objekts identifiziert. Unterschiedliche QIcon Objekte können denselben Schlüssel haben, wenn sie auf denselben Inhalt verweisen.

Der cacheKey() ändert sich, wenn das Symbol über addPixmap() oder addFile() geändert wird.

Cache-Schlüssel sind vor allem in Verbindung mit Caching nützlich.

Siehe auch QPixmap::cacheKey().

[static] QStringList QIcon::fallbackSearchPaths()

Gibt die Ersatz-Suchpfade für Icons zurück.

Die Ersatz-Suchpfade werden für eigenständige Icon-Dateien konsultiert, wenn current icon theme oder fallback icon theme keine Ergebnisse für eine Icon-Suche liefern.

Wenn nicht gesetzt, werden die Ersatz-Suchpfade von der Plattform definiert.

Siehe auch setFallbackSearchPaths() und themeSearchPaths().

[static] QString QIcon::fallbackThemeName()

Gibt den Namen des Fallback-Icon-Themas zurück.

Wenn es nicht gesetzt ist, wird das Fallback-Symbolthema von der Plattform definiert.

Hinweis: Plattform-Fallback-Symbolthemen sind derzeit nur auf Freedesktop-basierten Systemen implementiert, und das Symbolthema hängt von Ihren Desktop-Einstellungen ab.

Siehe auch setFallbackThemeName() und themeName().

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

Gibt das QIcon zurück, das name im current icon theme entspricht.

Wenn das aktuelle Thema kein Symbol für name bereitstellt, wird fallback icon theme konsultiert, bevor auf die Suche nach eigenständigen Symboldateien in fallback icon search path zurückgegriffen wird. Schließlich wird die plattformeigene Symbolbibliothek konsultiert.

So holen Sie ein Symbol aus dem aktuellen Symbolthema:

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

Wenn ein icon theme nicht explizit über setThemeName() eingestellt wurde, wird ein plattformdefiniertes Icon-Theme verwendet.

Siehe auch themeName(), fallbackThemeName(), setThemeName(), themeSearchPaths(), fallbackSearchPaths(), und Freedesktop Icon Naming Specification.

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

Dies ist eine überladene Funktion.

Gibt das QIcon zurück, das name im current icon theme entspricht.

Wenn das aktuelle Thema kein Symbol für name bereitstellt, wird fallback icon theme konsultiert, bevor auf die Suche nach eigenständigen Symboldateien in fallback icon search path zurückgegriffen wird. Schließlich wird die plattformeigene Symbolbibliothek konsultiert.

Wenn kein Symbol gefunden wird, wird fallback zurückgegeben.

Dies ist nützlich, um einen garantierten Fallback zu bieten, unabhängig davon, ob der aktuelle Satz von Icon-Themen und Fallback-Pfaden das angeforderte Icon unterstützt.

Ein Beispiel:

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

Siehe auch fallbackThemeName() und fallbackSearchPaths().

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

Gibt true zurück, wenn ein Symbol für name im aktuellen Symbolthema oder in einem der Fallbacks, wie in fromTheme() beschrieben, verfügbar ist, andernfalls wird false zurückgegeben.

Siehe auch themeSearchPaths(), fromTheme(), und setThemeName().

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

Dies ist eine überladene Funktion.

Gibt true zurück, wenn ein Icon für icon im aktuellen Icon-Theme oder einem der Fallbacks, wie in fromTheme() beschrieben, verfügbar ist, andernfalls gibt sie false zurück.

Diese Funktion wurde in Qt 6.7 eingeführt.

Siehe auch fromTheme().

bool QIcon::isMask() const

Gibt true zurück, wenn dieses Symbol als Maskenbild markiert wurde. Bestimmte Plattformen stellen Maskensymbole anders dar (z. B. Menüsymbole unter macOS).

Siehe auch setIsMask().

bool QIcon::isNull() const

Gibt true zurück, wenn das Symbol leer ist; andernfalls wird false zurückgegeben.

Ein Icon ist leer, wenn es weder eine Pixmap noch einen Dateinamen hat.

Hinweis: Auch ein Symbol, das nicht leer ist, kann möglicherweise keine gültigen Pixmaps erzeugen, z. B. wenn die Datei nicht existiert oder nicht gelesen werden kann.

QString QIcon::name() const

Gibt den Namen zurück, der zur Erstellung des Symbols verwendet wurde, falls vorhanden.

Je nachdem, wie das Symbol erstellt wurde, kann es einen zugehörigen Namen haben. Dies ist der Fall bei Icons, die mit fromTheme() erstellt wurden.

Siehe auch fromTheme() und QIconEngine::iconName().

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

Verwendet painter, um das Symbol mit dem angegebenen alignment, dem erforderlichen mode und state in das Rechteck rect zu malen.

Siehe auch actualSize() und 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

Dies ist eine überladene Funktion.

Zeichnet das Symbol in das Rechteck QRect(x, y, w, h).

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

Gibt eine Pixmap mit den angeforderten size, mode und state zurück und erzeugt gegebenenfalls eine solche. Die Pixmap kann kleiner als angefordert sein, aber niemals größer, es sei denn, das Gerät-Pixel-Verhältnis der zurückgegebenen Pixmap ist größer als 1.

Siehe auch actualSize() und paint().

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

Dies ist eine überladene Funktion.

Gibt eine Pixmap der Größe QSize(extent, extent) zurück. Die Pixmap kann kleiner als angefordert sein, aber niemals größer, es sei denn, das Gerät-Pixel-Verhältnis der zurückgegebenen Pixmap ist größer als 1.

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

Dies ist eine überladene Funktion.

Gibt eine Pixmap mit den angeforderten size, devicePixelRatio, mode und state zurück und erzeugt bei Bedarf eine mit den angegebenen mode und state. Die Pixmap kann kleiner als angefordert sein, aber niemals größer, es sei denn, das Gerät-Pixel-Verhältnis der zurückgegebenen Pixmap ist größer als 1.

Hinweis: Vor Qt 6.8 übergab diese Funktion fälschlicherweise die geräteabhängige Pixmap-Größe an QIconEngine::scaledPixmap(), seit Qt 6.8 ist es die geräteunabhängige Größe (nicht skaliert mit devicePixelRatio).

Diese Funktion wurde in Qt 6.0 eingeführt.

Siehe auch actualSize() und paint().

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

Dies ist eine überladene Funktion.

Gibt eine Pixmap der Größe QSize(w, h) zurück. Die Pixmap kann kleiner als angefordert sein, aber niemals größer, es sei denn, das Gerät-Pixel-Verhältnis der zurückgegebenen Pixmap ist größer als 1.

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

Setzt die Fallback-Suchpfade für Icons auf paths.

Die Fallback-Suchpfade werden für eigenständige Symboldateien konsultiert, wenn die current icon theme oder fallback icon theme keine Ergebnisse für eine Symbolsuche liefern.

Ein Beispiel:

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

Siehe auch fallbackSearchPaths() und setThemeSearchPaths().

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

Setzt das Fallback-Icon-Theme auf name.

Das Fallback-Icon-Theme wird für Icons herangezogen, die nicht von current icon theme bereitgestellt werden, oder wenn current icon theme nicht existiert.

Das Thema name sollte dem Thema im gleichen Format entsprechen, wie es in setThemeName() dokumentiert ist, und wird in themeSearchPaths() nachgeschlagen.

Hinweis: Fallback-Icon-Themen sollten vor der Erstellung von QGuiApplication festgelegt werden, um eine korrekte Initialisierung zu gewährleisten.

Siehe auch fallbackThemeName(), themeSearchPaths(), und themeName().

void QIcon::setIsMask(bool isMask)

Zeigt an, dass es sich bei diesem Symbol um ein Maskenbild handelt (boolean isMask) und es daher möglicherweise je nach Anzeigeort geändert werden kann.

Siehe auch isMask().

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

Setzt das aktuelle Symbolthema auf name.

Das Thema wird in themeSearchPaths() nachgeschlagen.

Im Moment wird nur das Format Freedesktop Icon Theme Specification unterstützt. name sollte einem Verzeichnisnamen im themeSearchPath() entsprechen, der eine index.theme Datei enthält, die ihren Inhalt beschreibt.

Siehe auch themeSearchPaths(), themeName(), und Freedesktop Icon Theme Specification.

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

Setzt die Suchpfade für Symbolthemen auf paths.

Der Inhalt von paths sollte dem durch setThemeName() dokumentierten Themenformat folgen.

Siehe auch themeSearchPaths(), fromTheme(), und setThemeName().

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

Tauscht dieses Symbol mit other aus. Dieser Vorgang ist sehr schnell und schlägt nie fehl.

[static] QString QIcon::themeName()

Gibt den Namen des aktuellen Icon-Themas zurück.

Wenn es nicht gesetzt ist, wird das aktuelle Symbolthema von der Plattform definiert.

Hinweis: Plattform-Symbolthemen sind derzeit nur auf Freedesktop-basierten Systemen implementiert, und das Symbolthema hängt von Ihren Desktop-Einstellungen ab.

Siehe auch setThemeName(), themeSearchPaths(), fromTheme(), und hasThemeIcon().

[static] QStringList QIcon::themeSearchPaths()

Gibt die Suchpfade für Symbolthemen zurück.

Die Standardsuchpfade werden von der Plattform definiert. Alle Plattformen haben auch das Ressourcenverzeichnis :\icons als Fallback.

Siehe auch setThemeSearchPaths(), fromTheme(), und setThemeName().

QVariant QIcon::operator QVariant() const

Gibt das Symbol als QVariant zurück.

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

Verschieben - weist other dieser QIcon Instanz zu.

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

Weist das Symbol other diesem Symbol zu und gibt einen Verweis auf dieses Symbol zurück.

Verwandte Nicht-Mitglieder

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

Schreibt das angegebene icon an die angegebene stream als PNG-Bild. Wenn das Symbol mehr als ein Bild enthält, werden alle Bilder in den Stream geschrieben. Beachten Sie, dass beim Schreiben des Streams in eine Datei keine gültige Bilddatei erzeugt wird.

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

Liest ein Bild oder einen Satz von Bildern von der angegebenen stream in die angegebene icon.

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