portable instalar c++ windows gtk

c++ - instalar - ¿Tu mejor biblioteca para crear GUI(gtk, qt, win32 api, etc)?



instalar gtk en ubuntu (10)

Es posible que desee probar Winforms o WPF. Si está limitado a usar C / C ++, puede incrustar código .NET utilizando la opción / clr para que el compilador incruste código .NET para Winforms o WPF. Fuentes:

http://msdn.microsoft.com/en-us/library/k8d11d4s(VS.71).aspx
http://msdn.microsoft.com/en-us/library/ms754130.aspx
http://msdn.microsoft.com/en-us/library/system.windows.forms.form.aspx
Experiencia personal

En su opinión, ¿cuál es la mejor manera de crear una interfaz gráfica de usuario en Windows ? con gtk o win32 api?

¿Recomiendas GTK para windows? Si NO ? Por qué ?


He usado GTK + en el pasado para una aplicación multiplataforma. Me pareció relativamente fácil de aprender y usar. En mi opinión, la principal ventaja de GTK + es que podrá trasladar su aplicación a otros sistemas de ventanas. Y la principal desventaja es que no se verá exactamente como otras aplicaciones de Windows. Si está realizando un trabajo multiplataforma o ya está muy familiarizado con GTK + (y no tiene tiempo para aprender un nuevo conjunto de herramientas), lo recomendaría.


Para el desarrollo independiente de la plataforma, recomendaría Qt en lugar del GTK actual. El dibujo de GTK2 fue muy lento en comparación con Qt y con Win32. Si te gusta el estilo nativo, wxWidgets está hecho para ti.


Personalmente prefiero Qt, pero realmente depende del tipo de interfaces de usuario que desee crear.

Contra Win32:

  • Bajo nivel, alta complejidad para lograr cosas triviales. Tienes que hacer TODO

  • Si sigues esta ruta te recomendaría un libro como el de Petzold .

Pro Qt:

  • GUIs de buen aspecto

  • Puede cambiar la apariencia muy fácilmente creando hojas de estilo.

  • El mecanismo de señal y ranuras le notifica eventos de IU como "botón pulsado", etc.

  • Buen sistema de diseño

  • Integrado con Visual Studio IDE

  • Código c ++ moderno orientado a objetos, fácil de entender y usar

  • Asistente Qt (Muy buena documentación)

  • Licencia relativamente liberal (LGPL)

  • Qt Designer - Herramienta de diseño WYSIWYG que puede utilizar para el diseño de formularios

  • Viene con una gran cantidad de otras funcionalidades de c ++ que incluyen XML, redes, eventos, subprocesos, acceso a bases de datos, etc.

Contra Qt:

  • Paso intermedio del uso del compilador MOC.

Pro WPF:

  • Si desea las nuevas capacidades WPF de las nuevas plataformas Windows, WPF es el camino a seguir.

Realmente tiene una gran cantidad de herramientas / marcos de GUI para elegir: Qt, wxWidgets, GTK + / gtkmm, WinAPI, MFC, .NET WinForms / WPF ... y esos son solo los más populares.

Como te limitas a C ++, tacharía .NET porque C ++ en .NET está destinado a servir como una conexión entre el mundo no administrado y el mundo administrado. Eso no significa que no pueda usarlo para otros tipos de desarrollo, pero dada la incómoda sintaxis y los innumerables escollos, no lo haría. Además, el generador de código de WinForms de VS coloca el código de los formularios en el archivo de encabezado .. brrrr

Como han dicho otros, WinAPI está escrito en C, muy rápido y poderoso, pero de muy bajo nivel y no es fácil de programar / aprender. MFC sería una opción ya que está escrito en C ++, más fácil de usar que WinAPI y también muy potente. Sin embargo, es bastante obsoleto (debido a la presencia de .NET, en su mayoría).

No recomendaría GTK + / gtkmm (una envoltura de C ++ para GTK +) para Windows, ya que no tiene el aspecto original de Windows, es bastante molesto configurar su máquina de desarrollador y también arrastra un montón de dependencias que tiene que hacer. Instalar en la máquina del usuario. Eso es realmente una lástima porque especialmente gtkmm tiene una jerarquía y un diseño de clase muy hermosos. Probablemente una de las bibliotecas GUI mejor diseñadas :)

Dicho esto, ¿qué recomendaría? Ya sea Qt o wxWidgets. Ambos están escritos en C ++ (bastante moderno), desarrollados activamente, tienen un buen diseño de biblioteca, ejecutan múltiples plataformas y ofrecen muchas funcionalidades. En cualquier caso, juegue con algunas de las bibliotecas enumeradas en las respuestas aquí y vea cuál le permite hacer las cosas que quiere hacer más fácilmente :)


Si está haciendo la interfaz gráfica solo para Windows, le recomiendo WIN 32 Api. Hice muchas aplicaciones en GTK +, pyGtk, FLTK y aprendí Qt, MFC y SmartWin ++. Créeme, pero me gusta Win32 Api lo mejor. Puede tener una curva de aprendizaje pronunciada, pero para crear aplicaciones nativas de Windows, es la más rápida y la MEJOR. Y cuanto más complejo se vuelve tu programa, más fácil se compara Win32 Api con otros kits de herramientas. Y hay cosas que puedes hacer en Win32 Api, que no puedes hacer en ningún otro kit de herramientas.

PROBADO:

hora de inicio (gui simple con menú y botones): GTK + = 7 segundos; Qt = 4 segundos; WxWidgets = 3.32 segundos; FLTK = 1 segundo; Win32 Api = 0.34 segundos;

espacio ocupado: Gtk + = 132 kb; Qt = 4.5 mb; WxWidgets = 4.5 mb; FLTK = 54 kb; Win32 Api = 6.5 kb;


Si le preocupa la compatibilidad con Linux (o Mac), entonces Qt. Else Win32.


Veamos.

  • Win32 es de muy bajo nivel, está basado en C y es difícil de usar.
  • MFC se considera obsoleto.
  • C # (o C ++) con .NET es probablemente su elección principal para el desarrollo específico de Windows.
    • Incluso hay formas semi limitadas de transferir ese código a otras plataformas (Mono).
  • Java es ideal para código muy independiente de la plataforma que "simplemente se ejecuta". Lo siento, dijiste C ++.
  • QT es relativamente independiente de la plataforma.
  • GTK +, por supuesto, aunque personalmente no tengo mucha experiencia con eso.

Personalmente, si hago algo específico de Windows, uso .NET, las herramientas de Visual Studio son muy poderosas y es una gran suite que lo abarca todo.

Para las cosas independientes de la plataforma, uso Java, pero puede que esa no sea su herramienta preferida. He visto QT usado mucho para ese propósito.


Win32 api es demasiado complicado, MFC es demasiado molesto. He utilizado MFC, win32api y Qt en Windows. En mi opinión, Qt es el mejor. No he intentado GTK, lo siento mucho no saber nada al respecto.


ambos son para c, pero hay una buena envoltura para gtk (gtkmm).

gtk tiene su propio aspecto, por lo que no hay elementos de la interfaz de usuario en el lado del usuario (con estilos de Windows). Pero me gusta más programar con él.

win32, mfc, .net se limitan principalmente a ms visual studio, mientras que gtk es muy difícil de usar con vs.

Deberías echar un vistazo a win32, .net, gtkmm y qt. solo intenta escribir y compilar un sencillo programa de hello world con ellos

ventajas de win32:

  • código nativo de windows
  • rápido

desventajas:

  • no hay clases, solo c con asas (muy asquerosas)
  • en mi opinión muy mal documentado

ventajas de gtk (mm):

  • fácil de aprender / programa
  • bien documentado

desventajas:

  • De alguna manera difícil instalar los archivos de desarrollo.
  • no se ven ventanas nativas