En esta página

Núcleo interno

Qt contiene un rico conjunto de habilitadores fundamentales, principalmente del módulo Qt Core . Qt utiliza estos habilitadores para proporcionar componentes de desarrollo de aplicaciones y de interfaz de usuario de nivel superior. Los siguientes temas explican los habilitadores más importantes y muestran cómo usarlos para implementar funcionalidades especializadas que Qt no proporciona.

Objetos, propiedades y eventos

La clase QObject constituye la base del modelo de objetos de Qt y es la clase padre de muchas clases de Qt. El modelo de objetos introduce muchos mecanismos, como un sistema de metaobjetos que permite la introspección, manipulación e invocación de propiedades y métodos del objeto en tiempo de ejecución. También sirve de base para el sistema de eventos de Qt, que es una forma de comunicación de bajo nivel entre objetos basados en QObject. Otra forma de comunicación de alto nivel es el mecanismo de señales y ranuras de Qt.

Además, QObject proporciona un sencillo mecanismo de temporización con QObject::startTimer(). Alternativamente, la clase QTimer proporciona una interfaz de alto nivel para temporizadores.

Clases de Contenedores

Un contenedor es una estructura de datos cuyas instancias son colecciones de otros objetos. Algunos ejemplos de contenedores son: matrices dinámicas, colas, listas enlazadas y matrices asociativas. Qt proporciona un conjunto de clases contenedoras de propósito general, basadas en plantillas, para estructurar datos en memoria.

Consulte la lista completa de clases contenedoras para obtener más detalles.

Internacionalización

Qt utiliza Unicode para la codificación de cadenas de texto visualizables. Unicode es compatible con todos los sistemas de escritura habituales en el mundo y es ideal para el desarrollo multiplataforma. Las aplicaciones también se pueden escribir para soportar cualquier número de idiomas diferentes con una base de código utilizando el potente sistema de internacionalización de Qt.

Comunicación entre procesos en Qt

Qt proporciona varias clases para soportar la comunicación entre procesos. También puedes lanzar y gestionar procesos externos usando la clase QProcess.

Hilos de ejecución

Qt proporciona funcionalidad para gestionar hilos y código paralelizado de forma segura e independiente de la plataforma.

Ver Multi-threading en Qt para más información.

Soporte de C++20 en Qt

Qt ha proporcionado soporte para C++17 desde Qt 6.0. Sin embargo, estamos trabajando constantemente en proporcionar soporte para nuevas características del lenguaje.

Soporte de plataforma

Qt le permite escribir código independiente de la plataforma, donde la misma base de código puede ser compilada y desplegada en diferentes plataformas sin ningún cambio. En los casos en los que sea necesario utilizar características específicas de la plataforma e integrarse con bibliotecas del sistema, Qt también proporciona soluciones para ello.

Qt se integra con el sistema de ventanas de la plataforma de destino mediante Qt Platform Abstraction (QPA). QPA es una abstracción de un sistema de ventanas que hace que portar Qt a nuevas plataformas sea sencillo y rápido. Uno de estos sistemas es el protocolo Wayland. Qt puede utilizarse junto con Wayland como un sistema de ventanas ligero en hardware embebido para soportar una interfaz gráfica de usuario multiproceso.

La Abstracción de Plataforma Qt utiliza el sistema de plugins de Qt. Este sistema de plugins proporciona APIs para extender Qt en áreas específicas (como añadir soporte para nuevos formatos de imagen, controladores de bases de datos, etc.) y también para escribir tus propias aplicaciones Qt extensibles que soporten plugins de terceros.

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