Interfaz gráfica de usuario

Interfaz gráfica de usuario

Estoy haciendo desarrollo en C++. Escuché que GTK será reemplazado por Wayland.

¿Qué bibliotecas GUI son adecuadas para C++ a largo plazo?

Respuesta1

Wayland es un reemplazo paraX11. GTK+ sigue siendo el conjunto de herramientas GUI utilizado por GNOME y algunos otros entornos de escritorio y no hay planes para reemplazarlo.

Las dos grandes bibliotecas GUI para Linux soncuartoyGTK+. Ambos se pueden utilizar con C++ y es probable que se mantengan en el futuro previsible.

Cuál es mejor para usted depende de qué entorno de escritorio sea su objetivo principal. Ambas bibliotecas se pueden usar con cualquier entorno de escritorio, pero su aplicación tendrá una apariencia diferente si usa el kit de herramientas GUI "incorrecto" para su entorno de escritorio.

Si desea que su aplicación se utilice en otros sistemas además de Linux, Qt suele ser la mejor opción.

Respuesta2

Claro

Aunque puede utilizar código C++ para crear instancias y organizar widgets, esto pronto puede volverse tedioso y repetitivo. Y requiere una recompilación para mostrar los cambios. La aplicación Glade le permite diseñar widgets en pantalla y luego guardar una descripción XML del arreglo.

Esto tiene las siguientes ventajas:

  • Se requiere menos código C++.
  • Los cambios en la interfaz de usuario se pueden ver más rápidamente, por lo que las interfaces de usuario pueden mejorar.
  • Los diseñadores sin conocimientos de programación pueden crear y editar interfaces de usuario.

Las interfaces de usuario diseñadas en Glade se almacenan en el conocido formato XML, lo que permite una fácil integración con herramientas externas. Probablemente querrás usarlo con herramientas como libglade, que pueden cargar archivos XML y crear interfaces en tiempo de ejecución.

Para instalar Glade GTK+ User Interface Builder en todas las versiones actualmente compatibles de Ubuntu, abra la terminal y escriba:

sudo apt install glade  

Para instalar solo los archivos de desarrollo para la biblioteca GTK+ sin instalar Glade escriba:

sudo apt install libgtk-3-dev

Creador de Qt

Qt Creator es un entorno de desarrollo integrado (IDE) multiplataforma diseñado para hacer que el desarrollo con el marco de aplicaciones Qt sea más rápido y sencillo.

Incluye:

  • Un editor de código C++ avanzado
  • Diseñador de formularios y diseño de GUI integrado
  • Herramientas de gestión de proyectos y construcciones
  • Sistema de ayuda integrado y sensible al contexto
  • Depurador visual
  • Herramientas de navegación rápida de código
  • Soporta múltiples plataformas
  • Diseñador rápido Qt

Para instalar QT Creator en todas las versiones actualmente compatibles de Ubuntu, abra la terminal y escriba:

sudo apt install qtcreator 
$apt-cache depende de qtcreator | grepqt  
qtcreador  
  Depende: libqt5sql5-sqlite  
  Depende: qml-module-qtqml-models2  
  Depende: qml-module-qtquick-controls  
  Depende: qml-module-qtquick2  
  Depende: qtchooser  
    qtchooser: i386  
  Depende: qtcreator-datos  
  Depende: libqbsqtprofilesetup1.10  
  Depende: libqt5concurrent5  
  Depende: libqt5core5a   
  Depende: libqt5designer5  
  Depende: libqt5designercomponents5  
  Depende: libqt5gui5  
  Depende: libqt5help5  
  Depende: libqt5network5  
  Depende: libqt5printsupport5  
  Depende: libqt5qml5  
  Depende: libqt5quick5  
  Depende: libqt5quickwidgets5  
  Depende: libqt5sql5  
  Depende: libqt5widgets5  
  Depende: libqt5xml5  
  Depende: <qtdeclarative-abi-5-9-5>  
    libqt5qml5  
  Recomendado: qt5-doc  
  Recomendado: qt5-qmltooling-plugins  
  Recomendado: qtbase5-dev-tools  
    qtbase5-dev-herramientas:i386  
  Recomendado: qtcreator-doc  
  Recomendado: qtdeclarative5-dev-tools  
    qtdeclarative5-dev-herramientas:i386  
  Recomendado: qttools5-dev-tools  
    qttools5-dev-herramientas:i386  
  Recomienda: qttranslations5-l10n  
  Recomendado: qtxmlpatterns5-dev-tools  
    qtxmlpatterns5-dev-herramientas:i386  
    qterminal

ingrese la descripción de la imagen aquí
(Haga clic en la imagen para ampliar)

información relacionada