En esta página

QIcon Class

La clase QIcon proporciona iconos escalables en diferentes modos y estados. Más...

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

Tipos Públicos

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

Funciones Públicas

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)

Miembros Públicos Estáticos

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)

Descripción Detallada

Un QIcon puede generar pixmaps más pequeños, más grandes, activos y desactivados a partir del conjunto de pixmaps que se le proporciona. Dichos pixmaps son utilizados por los componentes de interfaz de usuario de Qt para mostrar un icono que represente una acción concreta.

Creación de un icono a partir de archivos de imagen

La forma más sencilla de construir un QIcon es crearlo a partir de uno o varios archivos o recursos de imagen. Por ejemplo:

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

QIcon puede almacenar varias imágenes para diferentes estados, y Qt seleccionará la imagen que más se aproxime al estado actual de la acción.

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

Qt generará los estilos y tamaños de icono requeridos cuando sea necesario, por ejemplo, el pixmap para el estado QIcon::Disabled podría generarse poniendo en gris uno de los pixmaps proporcionados.

Para borrar el icono, basta con establecer un icono nulo en su lugar:

button->setIcon(QIcon());

Utilice las funciones QImageReader::supportedImageFormats() y QImageWriter::supportedImageFormats() para obtener una lista completa de los formatos de archivo compatibles.

Nota: Si utiliza un archivo de imagen SVG, asegúrese de añadirlo antes de cualquier archivo que no sea SVG, para que se seleccione el icon engine correcto.

Crear un icono a partir de un tema o una biblioteca de iconos

La forma más conveniente de construir un icono es utilizando la función de fábrica fromTheme(). Qt implementa el acceso a la biblioteca nativa de iconos en plataformas que soportan la Especificación de Temas de Iconos Freedesktop.

Las aplicaciones pueden utilizar la misma especificación temática para proporcionar su propia biblioteca de iconos. Véase más abajo un ejemplo de descripción de tema y la correspondiente estructura de directorios para los archivos de imagen.

Desde Qt 6.7, Qt también proporciona acceso a la biblioteca de iconos nativa en macOS, iOS y Windows 10 y 11. En Android, Qt puede acceder a iconos del sistema Material design siempre que la fuente MaterialIcons-Regular esté disponible en el sistema, o incluida como recurso en :/qt-project.org/icons/MaterialIcons-Regular.ttf con la aplicación.

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

Desde Qt 6.9, Qt puede generar iconos a partir de glifos con nombre en una fuente de iconos disponible. Establece theme name con el nombre de la familia de la fuente, y usa fromTheme() con el nombre del glifo.

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

La fuente de iconos puede instalarse en el sistema o incluirse en application font.

Motores de iconos

Internamente, QIcon instancia un backend icon engine para manejar y renderizar las imágenes de los iconos. El tipo de motor de iconos está determinado por el primer archivo o mapa de píxeles o tema añadido a un objeto QIcon. Los archivos o pixmaps adicionales serán manejados por el mismo motor.

Los motores de iconos difieren en la forma en que manejan y renderizan los iconos. El motor por defecto basado en pixmaps sólo trata con imágenes fijas, mientras que el módulo QtSvg proporciona un motor de iconos que puede volver a renderizar los archivos gráficos vectoriales proporcionados al tamaño solicitado para una mejor calidad. Los motores de iconos temáticos normalmente sólo proporcionarán imágenes de la biblioteca de iconos nativa de la plataforma, e ignorarán cualquier archivo añadido o pixmaps.

Además, es posible proporcionar motores de iconos personalizados. Esto permite a las aplicaciones personalizar todos los aspectos de los iconos generados. Con QIconEnginePlugin es posible registrar diferentes motores de iconos para diferentes sufijos de archivo, haciendo posible que terceras partes proporcionen motores de iconos adicionales a los incluidos con Qt.

Uso de QIcon en la interfaz de usuario

Si escribes tus propios widgets que tienen una opción para establecer un pequeño mapa de píxeles, considera permitir que se establezca un QIcon para ese mapa de píxeles. La clase Qt QToolButton es un ejemplo de este tipo de widget.

Proporciona un método para establecer un QIcon, y pinta el QIcon con paint, eligiendo los parámetros apropiados basados en el estado actual de tu widget. Por ejemplo:

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

Cuando recuperas un pixmap usando pixmap(QSize, Modo, Estado), y no se ha añadido ningún pixmap para este tamaño, modo y estado dados con addFile() o addPixmap(), entonces QIcon generará uno sobre la marcha. Esta generación de pixmaps ocurre en QIconEngine. El motor por defecto escala los pixmaps hacia abajo si es necesario, pero nunca hacia arriba, y utiliza el estilo actual para calcular una apariencia desactivada.

También puedes hacer uso del modo Active, quizás haciendo que tu widget Active cuando el ratón está sobre el widget (ver QWidget::enterEvent()), mientras el ratón está pulsado a la espera de la liberación que activará la función, o cuando es el elemento actualmente seleccionado. Si el widget puede conmutarse, el modo "Activado" podría utilizarse para dibujar un icono diferente.

Los QIcons generados a partir de la biblioteca de iconos nativa, o a partir de una fuente de iconos, utilizan el mismo glifo para los estados On y Off del icono. Las aplicaciones pueden cambiar el icono en función del estado del respectivo control o acción de la interfaz de usuario. En una aplicación Qt Quick, esto se puede hacer con un binding.

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

QIcon

Nota: QIcon necesita una instancia QGuiApplication antes de crear el icono.

Iconos de alta resolución

Los iconos proporcionados por la biblioteca de iconos nativa, o generados a partir del glifo de una fuente de iconos, suelen basarse en gráficos vectoriales y se renderizarán automáticamente con la resolución adecuada.

Cuando proporcione sus propios archivos de imagen a través de addFile(), entonces QIcon utilizará "@nx" high DPI syntax de Qt. Esto es útil si tiene su propia estructura de directorios personalizada y no utiliza la especificación Freedesktop Icon Theme Specification.

Cuando proporcione un tema de aplicación, entonces necesitará seguir la Especificación de Tema de Icono para especificar qué archivos usar para diferentes resoluciones. Para hacer que QIcon utilice la versión DPI alta de una imagen, añada una entrada adicional al archivo index.theme apropiado:

[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

Su directorio de temas de iconos tendría entonces este aspecto:

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

Miembro Tipo Documentación

enum QIcon::Mode

Este tipo enum describe el modo en el que se va a utilizar un mapa de píxeles. Los modos definidos actualmente son:

ConstanteValorDescripción
QIcon::Normal0Muestra el pixmap cuando el usuario no está interactuando con el icono, pero la funcionalidad representada por el icono está disponible.
QIcon::Disabled1Mostrar el mapa de píxeles cuando la funcionalidad representada por el icono no está disponible.
QIcon::Active2Mostrar el mapa de píxeles cuando la funcionalidad representada por el icono está disponible y el usuario está interactuando con el icono, por ejemplo, moviendo el ratón sobre él o haciendo clic en él.
QIcon::Selected3Mostrar el mapa de píxeles cuando el elemento representado por el icono está seleccionado.

enum QIcon::State

Este enum describe el estado para el que se destina un pixmap. El estado puede ser

ConstanteValorDescripción
QIcon::On0Muestra el mapa de píxeles cuando el widget está "encendido
QIcon::Off1Mostrar el mapa de píxeles cuando el widget está "apagado

[since 6.7] enum class QIcon::ThemeIcon

Este enum proporciona acceso a los iconos proporcionados por la mayoría de las implementaciones de temas de iconos.

ConstanteValorDescripción
QIcon::ThemeIcon::AddressBookNew0El icono para la acción de crear una nueva libreta de direcciones.
QIcon::ThemeIcon::ApplicationExit1El icono para salir de una aplicación.
QIcon::ThemeIcon::AppointmentNew2Icono de la acción de crear una nueva cita.
QIcon::ThemeIcon::CallStart3El icono para iniciar o aceptar una llamada.
QIcon::ThemeIcon::CallStop4El icono para detener una llamada en curso.
QIcon::ThemeIcon::ContactNew5El icono de la acción para crear un nuevo contacto.
QIcon::ThemeIcon::DocumentNew6El icono de la acción para crear un nuevo documento.
QIcon::ThemeIcon::DocumentOpen7El icono de la acción para abrir un documento.
QIcon::ThemeIcon::DocumentOpenRecent8El icono de la acción de abrir un documento abierto recientemente.
QIcon::ThemeIcon::DocumentPageSetup9El icono de la acción Configurar página.
QIcon::ThemeIcon::DocumentPrint10El icono de la acción imprimir.
QIcon::ThemeIcon::DocumentPrintPreview11El icono de la acción de presentación preliminar.
QIcon::ThemeIcon::DocumentProperties12El icono de la acción de ver las propiedades de un documento.
QIcon::ThemeIcon::DocumentRevert13El icono de la acción de volver a una versión anterior de un documento.
QIcon::ThemeIcon::DocumentSave14El icono de la acción de guardar.
QIcon::ThemeIcon::DocumentSaveAs15El icono de la acción guardar como.
QIcon::ThemeIcon::DocumentSend16El icono de la acción enviar.
QIcon::ThemeIcon::EditClear17El icono de la acción borrar.
QIcon::ThemeIcon::EditCopy18El icono de la acción copiar.
QIcon::ThemeIcon::EditCut19El icono de la acción cortar.
QIcon::ThemeIcon::EditDelete20El icono de la acción suprimir.
QIcon::ThemeIcon::EditFind21El icono de la acción buscar.
QIcon::ThemeIcon::EditPaste22El icono de la acción pegar.
QIcon::ThemeIcon::EditRedo23El icono de la acción rehacer.
QIcon::ThemeIcon::EditSelectAll24El icono de la acción seleccionar todo.
QIcon::ThemeIcon::EditUndo25El icono de la acción deshacer.
QIcon::ThemeIcon::FolderNew26El icono para crear una nueva carpeta.
QIcon::ThemeIcon::FormatIndentLess27El icono de la acción de reducir sangría.
QIcon::ThemeIcon::FormatIndentMore28El icono de la acción de aumentar la sangría.
QIcon::ThemeIcon::FormatJustifyCenter29El icono de la acción de formato centrar justificación.
QIcon::ThemeIcon::FormatJustifyFill30El icono para la acción de formato de justificación de relleno.
QIcon::ThemeIcon::FormatJustifyLeft31El icono para la acción de formato de justificación izquierda.
QIcon::ThemeIcon::FormatJustifyRight32El icono para la acción de justificación derecha.
QIcon::ThemeIcon::FormatTextDirectionLtr33El icono de la acción de formato de texto de izquierda a derecha.
QIcon::ThemeIcon::FormatTextDirectionRtl34El icono de la acción de formateo de derecha a izquierda.
QIcon::ThemeIcon::FormatTextBold35El icono de la acción de formato de texto en negrita.
QIcon::ThemeIcon::FormatTextItalic36El icono de la acción de formato de texto en cursiva.
QIcon::ThemeIcon::FormatTextUnderline37El icono de la acción de formato de texto subrayado.
QIcon::ThemeIcon::FormatTextStrikethrough38El icono de la acción de formato de texto tachado.
QIcon::ThemeIcon::GoDown39El icono de la acción de bajar en una lista.
QIcon::ThemeIcon::GoHome40El icono de la acción ir a la posición inicial.
QIcon::ThemeIcon::GoNext41El icono de la acción de ir al siguiente elemento de una lista.
QIcon::ThemeIcon::GoPrevious42El icono de la acción de ir al elemento anterior de una lista.
QIcon::ThemeIcon::GoUp43El icono de la acción Subir en una lista.
QIcon::ThemeIcon::HelpAbout44El icono del elemento Acerca de en el menú Ayuda.
QIcon::ThemeIcon::HelpFaq45El icono de la opción FAQ del menú Ayuda.
QIcon::ThemeIcon::InsertImage46El icono de la acción insertar imagen de una aplicación.
QIcon::ThemeIcon::InsertLink47El icono de la acción insertar enlace de una aplicación.
QIcon::ThemeIcon::InsertText48El icono de la acción insertar texto de una aplicación.
QIcon::ThemeIcon::ListAdd49El icono de la acción añadir a la lista.
QIcon::ThemeIcon::ListRemove50El icono de la acción eliminar de la lista.
QIcon::ThemeIcon::MailForward51El icono de la acción reenviar.
QIcon::ThemeIcon::MailMarkImportant52El icono de la acción marcar como importante.
QIcon::ThemeIcon::MailMarkRead53El icono de la acción marcar como leído.
QIcon::ThemeIcon::MailMarkUnread54El icono de la acción marcar como no leído.
QIcon::ThemeIcon::MailMessageNew55El icono de la acción redactar nuevo correo.
QIcon::ThemeIcon::MailReplyAll56El icono de la acción responder a todos.
QIcon::ThemeIcon::MailReplySender57El icono de la acción responder al remitente.
QIcon::ThemeIcon::MailSend58El icono de la acción enviar.
QIcon::ThemeIcon::MediaEject59El icono de la acción expulsar de un reproductor multimedia o un gestor de archivos.
QIcon::ThemeIcon::MediaPlaybackPause60El icono de la acción de pausa de un reproductor multimedia.
QIcon::ThemeIcon::MediaPlaybackStart61El icono de la acción de inicio de reproducción de un reproductor multimedia.
QIcon::ThemeIcon::MediaPlaybackStop62El icono de la acción de parada de un reproductor multimedia.
QIcon::ThemeIcon::MediaRecord63El icono de la acción de grabación de una aplicación multimedia.
QIcon::ThemeIcon::MediaSeekBackward64El icono de la acción de búsqueda hacia atrás de un reproductor multimedia.
QIcon::ThemeIcon::MediaSeekForward65El icono de la acción de búsqueda hacia delante de un reproductor multimedia.
QIcon::ThemeIcon::MediaSkipBackward66El icono de la acción de salto hacia atrás de un reproductor multimedia.
QIcon::ThemeIcon::MediaSkipForward67El icono de la acción de salto hacia delante de un reproductor multimedia.
QIcon::ThemeIcon::ObjectRotateLeft68El icono de la acción de rotación a la izquierda de un objeto.
QIcon::ThemeIcon::ObjectRotateRight69El icono de la acción de rotación a la derecha de un objeto.
QIcon::ThemeIcon::ProcessStop70El icono de la acción de detener en aplicaciones con acciones que pueden tardar en procesarse, como la carga de páginas web en un navegador.
QIcon::ThemeIcon::SystemLockScreen71El icono de la acción bloquear pantalla.
QIcon::ThemeIcon::SystemLogOut72El icono de la acción de cierre de sesión.
QIcon::ThemeIcon::SystemSearch73El icono de la acción de búsqueda.
QIcon::ThemeIcon::SystemReboot74El icono de la acción de reiniciar.
QIcon::ThemeIcon::SystemShutdown75El icono de la acción de apagado.
QIcon::ThemeIcon::ToolsCheckSpelling76El icono de la acción comprobar ortografía.
QIcon::ThemeIcon::ViewFullscreen77El icono de la acción de pantalla completa.
QIcon::ThemeIcon::ViewRefresh78El icono de la acción refrescar.
QIcon::ThemeIcon::ViewRestore79El icono para salir de la vista de pantalla completa.
QIcon::ThemeIcon::WindowClose80El icono de la acción cerrar ventana.
QIcon::ThemeIcon::WindowNew81El icono de la acción nueva ventana.
QIcon::ThemeIcon::ZoomFitBest82El icono de la acción de mejor ajuste.
QIcon::ThemeIcon::ZoomIn83El icono de la acción acercar.
QIcon::ThemeIcon::ZoomOut84El icono de la acción alejar.
QIcon::ThemeIcon::AudioCard85El icono del dispositivo de entrada de audio.
QIcon::ThemeIcon::AudioInputMicrophone86El icono del dispositivo de entrada de audio del micrófono.
QIcon::ThemeIcon::Battery87El icono del dispositivo de batería del sistema.
QIcon::ThemeIcon::CameraPhoto88El icono de un dispositivo de cámara de fotos digital.
QIcon::ThemeIcon::CameraVideo89El icono de un dispositivo de cámara de vídeo.
QIcon::ThemeIcon::CameraWeb90El icono para un dispositivo de cámara web.
QIcon::ThemeIcon::Computer91El icono del dispositivo informático en su conjunto.
QIcon::ThemeIcon::DriveHarddisk92El icono de las unidades de disco duro.
QIcon::ThemeIcon::DriveOptical93El icono de las unidades de medios ópticos como CD y DVD.
QIcon::ThemeIcon::InputGaming94El icono del dispositivo de entrada de juegos.
QIcon::ThemeIcon::InputKeyboard95El icono del dispositivo de entrada de teclado.
QIcon::ThemeIcon::InputMouse96El icono del dispositivo de entrada de ratón.
QIcon::ThemeIcon::InputTablet97El icono de los dispositivos de entrada de tabletas gráficas.
QIcon::ThemeIcon::MediaFlash98El icono de un soporte flash, como un lápiz de memoria.
QIcon::ThemeIcon::MediaOptical99El icono de los soportes ópticos físicos, como CD y DVD.
QIcon::ThemeIcon::MediaTape100El icono de los soportes físicos de cinta genéricos.
QIcon::ThemeIcon::MultimediaPlayer101El icono de los dispositivos de reproducción multimedia genéricos.
QIcon::ThemeIcon::NetworkWired102El icono de las conexiones de red por cable.
QIcon::ThemeIcon::NetworkWireless103El icono de las conexiones de red inalámbricas.
QIcon::ThemeIcon::Phone104El icono de un dispositivo telefónico.
QIcon::ThemeIcon::Printer105El icono de un dispositivo de impresión.
QIcon::ThemeIcon::Scanner106El icono de un dispositivo escáner.
QIcon::ThemeIcon::VideoDisplay107El icono del monitor en el que se muestra el vídeo.
QIcon::ThemeIcon::AppointmentMissed108El icono de una cita perdida.
QIcon::ThemeIcon::AppointmentSoon109El icono que indica que pronto habrá una cita.
QIcon::ThemeIcon::AudioVolumeHigh110El icono que indica un volumen de audio alto.
QIcon::ThemeIcon::AudioVolumeLow111El icono que indica un volumen de audio bajo.
QIcon::ThemeIcon::AudioVolumeMedium112El icono que indica un volumen de audio medio.
QIcon::ThemeIcon::AudioVolumeMuted113El icono utilizado para indicar el estado silenciado de la reproducción de audio.
QIcon::ThemeIcon::BatteryCaution114El icono utilizado cuando la batería está por debajo del 40%.
QIcon::ThemeIcon::BatteryLow115El icono utilizado cuando la batería está por debajo del 20%.
QIcon::ThemeIcon::DialogError116El icono utilizado cuando se abre un diálogo para explicar una condición de error al usuario.
QIcon::ThemeIcon::DialogInformation117El icono utilizado cuando se abre un diálogo para dar información al usuario que puede ser pertinente para la acción solicitada.
QIcon::ThemeIcon::DialogPassword118Icono que se utiliza cuando se abre una ventana que solicita las credenciales de autenticación de un usuario.
QIcon::ThemeIcon::DialogQuestion119Icono que se utiliza cuando se abre un diálogo para hacer una pregunta sencilla al usuario.
QIcon::ThemeIcon::DialogWarning120El icono utilizado cuando se abre un diálogo para advertir al usuario de problemas inminentes con la acción solicitada.
QIcon::ThemeIcon::FolderDragAccept121El icono utilizado para una carpeta mientras se arrastra sobre ella un objeto aceptable.
QIcon::ThemeIcon::FolderOpen122El icono utilizado para las carpetas, mientras se muestra su contenido dentro de la misma ventana.
QIcon::ThemeIcon::FolderVisiting123El icono utilizado para las carpetas, mientras se muestra su contenido en otra ventana.
QIcon::ThemeIcon::ImageLoading124El icono utilizado mientras se carga otra imagen.
QIcon::ThemeIcon::ImageMissing125El icono utilizado cuando no se ha podido cargar otra imagen.
QIcon::ThemeIcon::MailAttachment126El icono de un mensaje que contiene archivos adjuntos.
QIcon::ThemeIcon::MailUnread127El icono de un mensaje no leído.
QIcon::ThemeIcon::MailRead128El icono de un mensaje leído.
QIcon::ThemeIcon::MailReplied129El icono de un mensaje al que se ha respondido.
QIcon::ThemeIcon::MediaPlaylistRepeat130El icono del modo de repetición de un reproductor multimedia.
QIcon::ThemeIcon::MediaPlaylistShuffle131El icono del modo aleatorio de un reproductor multimedia.
QIcon::ThemeIcon::NetworkOffline132El icono que indica que el aparato no está conectado a la red.
QIcon::ThemeIcon::PrinterPrinting133El icono que se utiliza cuando un trabajo de impresión se está enviando correctamente a un dispositivo de impresión.
QIcon::ThemeIcon::SecurityHigh134El icono utilizado para indicar que el nivel de seguridad de un elemento es alto.
QIcon::ThemeIcon::SecurityLow135El icono utilizado para indicar que el nivel de seguridad de un elemento es bajo.
QIcon::ThemeIcon::SoftwareUpdateAvailable136El icono utilizado para indicar que hay una actualización disponible.
QIcon::ThemeIcon::SoftwareUpdateUrgent137El icono utilizado para indicar que hay una actualización urgente disponible.
QIcon::ThemeIcon::SyncError138El icono utilizado cuando se produce un error al intentar sincronizar datos entre dispositivos.
QIcon::ThemeIcon::SyncSynchronizing139El icono utilizado mientras los datos se sincronizan correctamente entre dispositivos.
QIcon::ThemeIcon::UserAvailable140El icono utilizado para indicar que un usuario está disponible.
QIcon::ThemeIcon::UserOffline141El icono utilizado para indicar que un usuario no está disponible.
QIcon::ThemeIcon::WeatherClear142El icono utilizado para indicar que el cielo está despejado.
QIcon::ThemeIcon::WeatherClearNight143El icono utilizado para indicar que el cielo está despejado durante la noche.
QIcon::ThemeIcon::WeatherFewClouds144El icono utilizado para indicar que el cielo está parcialmente nublado.
QIcon::ThemeIcon::WeatherFewCloudsNight145El icono utilizado para indicar que el cielo está parcialmente nublado durante la noche.
QIcon::ThemeIcon::WeatherFog146El icono utilizado para indicar que el tiempo está nublado.
QIcon::ThemeIcon::WeatherShowers147El icono utilizado para indicar que se están produciendo chubascos.
QIcon::ThemeIcon::WeatherSnow148El icono utilizado para indicar que está nevando.
QIcon::ThemeIcon::WeatherStorm149El icono utilizado para indicar que el tiempo es tormentoso.

Este enum se introdujo en Qt 6.7.

Véase también Creating an icon from a theme or icon library y fromTheme().

Documentación de las funciones miembro

[noexcept] QIcon::QIcon()

Construye un icono nulo.

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

Crea un icono con un icono específico engine. El icono toma la propiedad del motor.

QIcon::QIcon(const QPixmap &pixmap)

Construye un icono a partir de pixmap.

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

Crea un icono a partir del archivo con la dirección fileName. El archivo se cargará cuando se solicite.

Si fileName contiene una ruta relativa (por ejemplo, sólo el nombre del archivo), el archivo en cuestión debe encontrarse en relación con el directorio de trabajo en tiempo de ejecución.

El nombre del archivo puede referirse a un archivo real en el disco o a uno de los recursos integrados de la aplicación. Consulte la descripción general del sistema de recursos para obtener más información sobre cómo incrustar imágenes y otros archivos de recursos en el ejecutable de la aplicación.

Utilice las funciones QImageReader::supportedImageFormats() y QImageWriter::supportedImageFormats() para obtener una lista completa de los formatos de archivo compatibles.

QIcon::QIcon(const QIcon &other)

Construye una copia de other. Esto es muy rápido.

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

Mover-construye una instancia de QIcon, haciendo que apunte al mismo objeto al que apuntaba other.

[noexcept] QIcon::~QIcon()

Destruye el icono.

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

Devuelve el tamaño real del icono para los sitios solicitados size, mode, y state. El resultado puede ser menor que el solicitado, pero nunca mayor. El tamaño devuelto está en píxeles independientes del dispositivo (Esto es relevante para mapas de píxeles de alta ppp).

Véase también pixmap() y paint().

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

Añade una imagen del archivo con el valor fileName al icono, como especialización para size, mode y state. El archivo se cargará bajo demanda. Nota: los motores de iconos personalizados son libres de ignorar los mapas de píxeles añadidos adicionalmente.

Si fileName contiene una ruta relativa (por ejemplo, sólo el nombre del archivo), el archivo correspondiente debe encontrarse en relación con el directorio de trabajo en tiempo de ejecución.

El nombre del archivo puede referirse a un archivo real en disco o a uno de los recursos incrustados de la aplicación. Consulte la descripción general del sistema de recursos para obtener más información sobre cómo incrustar imágenes y otros archivos de recursos en el ejecutable de la aplicación.

Utilice las funciones QImageReader::supportedImageFormats() y QImageWriter::supportedImageFormats() para obtener una lista completa de los formatos de archivo compatibles.

Si existe una versión de alta resolución de la imagen (identificada por el sufijo @2x en el nombre base), se carga automáticamente y se añade con la relación de píxeles del dispositivo establecida en un valor de 2. Esto puede desactivarse estableciendo la variable de entorno QT_HIGHDPI_DISABLE_2X_IMAGE_LOADING (véase QImageReader).

Nota: Cuando se añade un nombre de archivo no vacío a QIcon, el icono se convierte en no nulo, incluso si el archivo no existe o apunta a un archivo corrupto.

Véase también addPixmap() y QPixmap::devicePixelRatio().

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

Añade pixmap al icono, como especialización para mode y state.

Los motores de iconos personalizados son libres de ignorar los mapas de píxeles añadidos adicionalmente.

Véase también addFile().

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

Devuelve una lista de los tamaños de icono disponibles para los sitios mode y state especificados.

qint64 QIcon::cacheKey() const

Devuelve un número que identifica el contenido de este objeto QIcon. Distintos objetos QIcon pueden tener la misma clave si se refieren al mismo contenido.

La cacheKey() cambiará cuando el icono se modifique a través de addPixmap() o addFile().

Las claves de caché son útiles sobre todo en conjunción con el almacenamiento en caché.

Véase también QPixmap::cacheKey().

[static] QStringList QIcon::fallbackSearchPaths()

Devuelve las rutas de búsqueda alternativas de iconos.

Las rutas de búsqueda alternativas se consultan para los archivos de iconos independientes si current icon theme o fallback icon theme no proporcionan resultados para una búsqueda de iconos.

Si no se establecen, las rutas de búsqueda alternativas serán definidas por la plataforma.

Véase también setFallbackSearchPaths() y themeSearchPaths().

[static] QString QIcon::fallbackThemeName()

Devuelve el nombre del tema del icono alternativo.

Si no se establece, el tema de icono alternativo será definido por la plataforma.

Nota: Los temas de iconos de la plataforma sólo están implementados en los sistemas basados en Freedesktop por el momento, y el tema del icono depende de la configuración de su escritorio.

Véase también setFallbackThemeName() y themeName().

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

Devuelve el QIcon correspondiente a name en el current icon theme.

Si el tema actual no proporciona un icono para name, se consulta fallback icon theme, antes de volver a buscar archivos de iconos independientes en fallback icon search path. Por último, se consulta la biblioteca de iconos nativa de la plataforma.

Para obtener un icono del tema de iconos actual:

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

Si no se ha establecido explícitamente un icon theme mediante setThemeName(), se utilizará un tema de iconos definido por la plataforma.

Véase también themeName(), fallbackThemeName(), setThemeName(), themeSearchPaths(), fallbackSearchPaths(), y 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)

Devuelve el QIcon correspondiente a icon en el current icon theme.

Si el tema actual no proporciona un icono para icon, se consulta fallback icon theme, antes de volver a buscar archivos de iconos independientes en fallback icon search path. Por último, se consulta la biblioteca de iconos nativa de la plataforma.

Si no se encuentra ningún icono y se proporciona un fallback, se devuelve fallback. Esto es útil para proporcionar un fallback garantizado, independientemente de si el conjunto actual de temas de iconos y rutas de fallbacks soportan el icono solicitado.

Si no se encuentra ningún icono y no se proporciona fallback, se devuelve un QIcon vacío construido por defecto.

Estas funciones se introdujeron en Qt 6.7.

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

Devuelve el QIcon correspondiente a name en el current icon theme.

Si el tema actual no proporciona un icono para name, se consulta fallback icon theme, antes de volver a buscar archivos de iconos independientes en fallback icon search path. Por último, se consulta la biblioteca de iconos nativa de la plataforma.

Si no se encuentra ningún icono, se devuelve fallback.

Esto es útil para proporcionar un fallback garantizado, independientemente de si el conjunto actual de temas de iconos y rutas de fallbacks soportan el icono solicitado.

Por ejemplo:

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

Esta es una función sobrecargada.

Véase también fallbackThemeName() y fallbackSearchPaths().

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

Devuelve true si hay un icono disponible para name en el tema de iconos actual o en cualquiera de los temas alternativos, como se describe en fromTheme(), de lo contrario devuelve false.

Véase también themeSearchPaths(), fromTheme(), y setThemeName().

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

Devuelve true si hay un icono disponible para icon en el tema de iconos actual o en cualquiera de los temas alternativos, como se describe en fromTheme(), de lo contrario devuelve false.

Esta es una función sobrecargada.

Esta función se introdujo en Qt 6.7.

Véase también fromTheme().

bool QIcon::isMask() const

Devuelve true si este icono se ha marcado como imagen de máscara. Algunas plataformas muestran los iconos de máscara de forma diferente (por ejemplo, los iconos de menú en macOS).

Véase también setIsMask().

bool QIcon::isNull() const

Devuelve true si el icono está vacío; en caso contrario, devuelve false.

Un icono está vacío si no tiene ni un mapa de píxeles ni un nombre de archivo.

Nota: Incluso un icono no nulo podría no ser capaz de crear pixmaps válidos, por ejemplo, si el archivo no existe o no se puede leer.

QString QIcon::name() const

Devuelve el nombre utilizado para crear el icono, si está disponible.

Dependiendo de la forma en que se creó el icono, puede tener un nombre asociado. Este es el caso de los iconos creados con fromTheme().

Véase también fromTheme() y QIconEngine::iconName().

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

Utiliza painter para pintar el icono con alignment especificado, mode requerido y state en el rectángulo rect.

Véase también actualSize() y 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

Pinta el icono en el rectángulo QRect(x, y, w, h).

Se trata de una función sobrecargada.

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

Devuelve un mapa de píxeles con los valores solicitados size, mode, y state, generando uno si es necesario. El mapa de píxeles puede ser menor que el solicitado, pero nunca mayor, a menos que la relación dispositivo-píxel del mapa de píxeles devuelto sea mayor que 1.

Véase también actualSize() y paint().

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

Devuelve un mapa de píxeles de tamaño QSize(extent, extent). El mapa de píxeles puede ser menor que el solicitado, pero nunca mayor, a menos que la relación dispositivo-píxel del mapa de píxeles devuelto sea mayor que 1.

Esta es una función sobrecargada.

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

Devuelve un mapa de píxeles con los valores solicitados size, devicePixelRatio, mode, y state, generando uno con los valores mode y state si es necesario. El mapa de píxeles puede ser menor que el solicitado, pero nunca mayor, a menos que la relación dispositivo-píxel del mapa de píxeles devuelto sea mayor que 1.

Nota: El devicePixelRatio solicitado puede no coincidir con el devuelto. Esto retrasa el escalado de QPixmap hasta que se dibuja más tarde.

Nota: Antes de Qt 6.8 esta función pasaba erróneamente el tamaño del pixmap dependiente del dispositivo a QIconEngine::scaledPixmap(), desde Qt 6.8 es el tamaño independiente del dispositivo (no escalado con devicePixelRatio).

Esta es una función sobrecargada.

Esta función se introdujo en Qt 6.0.

Ver también actualSize() y paint().

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

Devuelve un mapa de píxeles de tamaño QSize(w, h). El mapa de píxeles puede ser menor que el solicitado, pero nunca mayor, a menos que la relación dispositivo-píxel del mapa de píxeles devuelto sea mayor que 1.

Esta es una función sobrecargada.

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

Establece las rutas de búsqueda alternativas para los iconos en paths.

Las rutas de búsqueda alternativas se consultan para los archivos de iconos independientes si current icon theme o fallback icon theme no proporcionan resultados para una búsqueda de iconos.

Por ejemplo:

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

Véase también fallbackSearchPaths() y setThemeSearchPaths().

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

Establece el tema del icono de reserva en name.

El tema de icono alternativo se consulta para los iconos no proporcionados por current icon theme, o si current icon theme no existe.

name debe corresponder al tema en el mismo formato que el documentado por setThemeName(), y se buscará en themeSearchPaths().

Nota: Los temas de los iconos de reserva deben establecerse antes de crear QGuiApplication, para asegurar una correcta inicialización.

Véase también fallbackThemeName(), themeSearchPaths(), y themeName().

void QIcon::setIsMask(bool isMask)

Indica que este icono es una imagen de máscara(boolean isMask), y por lo tanto puede modificarse potencialmente en función de dónde se muestre.

Véase también isMask().

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

Establece el tema del icono actual en name.

Si el tema coincide con el nombre de una fuente instalada que proporciona glifos con nombre, las llamadas a QIcon::fromTheme que coincidan con uno de los glifos producirán un icono para ese glifo.

En caso contrario, el tema se buscará en themeSearchPaths(). Por el momento, el único formato de tema de icono compatible es Freedesktop Icon Theme Specification. name debe corresponder a un nombre de directorio en themeSearchPath() que contenga un archivo index.theme que describa su contenido.

Véase también themeSearchPaths(), themeName(), y Freedesktop Icon Theme Specification.

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

Establece las rutas de búsqueda de temas de iconos en paths.

El contenido de paths debe seguir el formato de tema documentado por setThemeName().

Véase también themeSearchPaths(), fromTheme(), y setThemeName().

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

Cambia este icono por other. Esta operación es muy rápida y nunca falla.

[static] QString QIcon::themeName()

Devuelve el nombre del tema de iconos actual.

Si no se establece, el tema de iconos actual será definido por la plataforma.

Nota: Los temas de iconos de la plataforma sólo están implementados en sistemas basados en Freedesktop por el momento, y el tema de iconos depende de la configuración de tu escritorio.

Véase también setThemeName(), themeSearchPaths(), fromTheme(), y hasThemeIcon().

[static] QStringList QIcon::themeSearchPaths()

Devuelve las rutas de búsqueda de los temas de iconos.

Las rutas de búsqueda por defecto serán definidas por la plataforma. Todas las plataformas tendrán también el directorio de recursos :\icons como alternativa.

Véase también setThemeSearchPaths(), fromTheme() y setThemeName().

QIcon::operator QVariant() const

Devuelve el icono como QVariant.

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

Mover-asigna other a esta instancia QIcon.

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

Asigna el icono other a este icono y devuelve una referencia a este icono.

No miembros relacionados

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

Escribe el icon dado en el stream dado como una imagen PNG. Si el icono contiene más de una imagen, todas las imágenes se escribirán en el flujo. Tenga en cuenta que escribir el flujo en un archivo no producirá un archivo de imagen válido.

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

Lee una imagen, o un conjunto de imágenes, de la dirección stream en la dirección icon.

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