c++ qt stl boost

c++ - Qt funciona bien con STL & Boost?



(2)

Qt funciona bastante bien junto con STL, aunque como cualquier framework, han tenido que reemplazar algunas estructuras de STL por necesidad (el único que te verás obligado a utilizar es string / unicode). Todo lo de Boost funciona muy bien, de hecho es un gran par de kits de herramientas para usar juntos, pero tendrás que tener cuidado con boost :: signals, ya que Qt también tiene una implementación de señales y los nombres se pueden superponer. Boost cubre esto en las FAQ y también hay información sobre el sitio Trolltech y sobre cómo evitar el problema.

Estoy interesado en aprender Qt. Soy bastante bueno con C ++, STL y Boost. Me gusta mucho el estilo STL / Boost, y los uso con C ++ siempre que puedo en proyectos uni. Sin embargo, siempre extraño la GUI. Parece que Qt es la mejor solución en mi caso. Qt tiene una buena colección de contenedores, pero estoy muy familiarizado con las cosas de STL / Boost.

¿De qué debería ocuparme cuando estoy aprendiendo Qt y lo uso al lado de STL / Boost?


Sí, Qt funciona bien tanto con Boost como con STL. La mayor parte de la funcionalidad STL está duplicada en Qt para garantizar que dichas características sean compatibles con todas las plataformas que admiten Qt. Sin embargo, nada le prohíbe usar contrapartes STL / boost de las construcciones o funcionalidades de Qt en las que carece Qt.

Aunque Qt tiene sus propios objetos de cadena, contenedor y algoritmo, también contiene una gran cantidad de funciones para compatibilidad con STL. Por ejemplo, un QString se puede convertir a std :: string y un QVector se puede usar con std :: for_each. Qt también contiene algunas características que se superponen con boost como QPointer (comparar / contrastar con std: auto_ptr y boost: shared_ptr).

El artículo Creación de tipos de Qt personalizados puede proporcionar cierta información sobre el uso de funciones avanzadas con objetos de impulso como la transmisión de objetos personalizados entre hilos con conexiones en cola .

Ver también: