2009-03-14 11 views
5

En primer lugar, por favor, comprenda. Lo busqué y lo metí por semanas. Finalmente he renunciado a un esfuerzo en solitario y he decidido pedir ayuda a esta encantadora comunidad.Desarrollo de GUI con C++ en un entorno de Windows

Quería escribir aplicaciones de GUI para Windows. Debido a que quería exportar mis aplicaciones de línea de comandos favoritas para tener una interfaz. Pensé 'Oye, esto no debería ser tan difícil'.

Así que busqué en Google por un par de horas y tuve una buena idea de lo que necesitaba. Descargué Qt e instalé todo. Luego encontré un tutorial destinado a usar mi IDE actual (Bloodshed Dev C++) para trabajar con Qt. Todo fue a la ruina después de eso.

Estoy bastante confundido qué hacer ahora. Algunas personas dicen que mi IDE es viejo y necesito cambiar. Algunos dicen que tengo que configurar Windows de manera diferente. Alguien sugirió usar Visual Studio C++ (o lo que sea el IDE de Microsoft).

Aquí es donde necesito su consejo y ayuda. ¿Qué debo hacer/instalar/actualizar?

+0

Realmente debe definir lo que quiere decir con "Todo se fue a la ruina" –

+0

Sí, ¿cuáles son sus problemas específicos? 'No funcionará, ¿cómo lo arreglo?' no es algo que realmente podamos responder. – BigSandwich

Respuesta

4

Bien, hay dos piezas para esto.

La primera es que en Windows, vas a necesitar una biblioteca de Windows GUI. Puede escribir en la API de Windows de varias maneras, pero el más simple es usar el propio de Microsoft. Eso significa tomar Visual Studio en alguna encarnación.

QT, Wx y otehrs son todas bibliotecas de utilidades creadas sobre la API básica de Windows. Son buenos para la portabilidad de otras plataformas, pero necesariamente agregan algo de complejidad.

Para C++, necesita un compilador. Nuevamente, para Windows, lo más simple es usar Visual Studio, pero hay otros compiladores disponibles. El uno gratis más común serán los compiladores de GNU. La forma más fácil de obtenerlos es con Cygwin, pero ese es un entorno similar a UNIX.

Creo que la conclusión es que para un principiante, es mejor que tengas Visual Studio.

Una vez que lo obtiene, hay muchos tutoriales en la web y en Microsoft para aprender a usarlo.

+2

Las bibliotecas en la parte superior de la API de Windows no agregan complejidad, sino que la resumen, para que no tenga que preocuparse por ello. Es mucho más fácil crear ventanas/botones/etc. en Qt que a través de llamadas a la API de Windows. – Thomas

+0

Por cierto, también hay versiones gratuitas de C++ visual disponibles para uso no comercial –

+0

@Thomas, eso solo es cierto si las abstracciones no tienen fugas. Debe hacerse. –

3

Tiene muchas opciones y puede usar muchas herramientas como las describe Charlie Martin. Creo que si quieres la ruta más fácil, debes usar wxDev-C++, que es Dev-C++ incluido con la biblioteca wxWidgets GUI. Después de instalarlo, puede desarrollar directamente aplicaciones de GUI sin necesidad de configuración adicional. Quizás Dev-C++ es un IDE antiguo, pero ya lo usas y lo sabes. Y wxWidgets es una sólida biblioteca de GUI.

1

Si bien es posible utilizar su IDE actual y un conjunto de herramientas como Qt, si está buscando la ruta de menor resistencia, debe ir con Visual Studio. Encontrarás la mejor documentación y la mayor ayuda para esa ruta. Echa un vistazo al Express Edition, que es gratis (como en la cerveza). Luego, tome una copia de un buen libro sobre el tema, como el Programming Windows de Charles Petzold. Deberías estar todo listo.

2

Visual Studio 2008 + WTL sería una gran combinación si no le preocupa el soporte multiplataforma. Qt se ve muy bien, pero para una aplicación simple puede ser excesivo: distribuir una aplicación Qt significa enviar un montón de archivos DLL, por ejemplo, mientras que tiene menos dependencias con WTL.

Just my 2c. No quiero comenzar ninguna guerra de llamas aquí.:)

Wikipedia

Brilliant series of WTL articles at The Code Project

0

Dev C++ ya no está bajo desarrollo activo (y es un poco ordinario de todos modos). Si desea un IDE de código abierto que sea compatible con el desarrollo de la GUI de Windows, intente Code::Blocks.

1

Utilizo Ultimate++ http://ultimatepp.org/ para el desarrollo de la plataforma cruzada de C++ GUI. También tiene una biblioteca completa de utilidades para redes, bases de datos, etc. y un IDE realmente bueno. Está licenciado por BSD, por lo que no hay problemas haciendo lo que quieras con él. También tiene un buen apoyo comunitario.

+0

Tiene un instalador de Windows nativo. Desde http://ultimatepp.org/www$uppweb$download$en-us.html, descargue enlaces aquí: http://sourceforge.net/projects/upp/files/upp/ – Chris

6

A partir de la versión 4.5 Qt ahora viene con el Qt IDE QtCreator oficial de plataforma cruzada. Simplemente descargue e instale Qt 4.5 y obtenga un entorno de desarrollo completo (libs, IDE, diseñador de formularios, editor de recursos) de forma gratuita.

http://www.qtsoftware.com/downloads

0

En primer lugar, Dev-C++ ya no está en desarrollo y parece haber sido abandonado con un montón de errores. En segundo lugar, SI desea permanecer con Windows API, echa un vistazo a mi pequeño proyecto Dialog Template.

Acabo de agregar archivos de proyecto para Visual Studio 2008, Code :: Blocks & Dev-C++ solo para ponerlo en movimiento. Avíseme si necesita algo más, ya que estaré encantado de ayudarlo.

0

Lo siguiente asume que está apuntando a una plataforma de Windows solamente (si está buscando sistemas operativos cruzados, entonces muchas de las otras publicaciones cubren varias opciones).

Puede ser muy afortunado ya que tiene una aplicación que se puede ejecutar desde la línea de comandos. Es completamente posible trabajar en uno de los lenguajes .Net y acceder a su aplicación existente. Cualquier lenguaje .Net (C#, VB.Net, C++ administrado) se puede usar para construir muy rápidamente una UI y unir los componentes y eventos de UI y luego tener esa llamada a su aplicación existente, pasando por los argumentos necesarios de la línea de comando.

Otra opción: C++ administrado realmente le permite mezclar código administrado (código .Net) y no administrado (C++ compatible con estándares, es decir, sus aplicaciones existentes) en los mismos proyectos (incluso los mismos archivos para muchos códigos). Esto le permite acceder a muchas características IDE modernas y la biblioteca .Net para cualquier cosa nueva que quiera agregar. Simplemente juegas un poco con algunas configuraciones de proyecto y "simplemente funciona" (bueno, puede haber algunas cosas de aprendizaje, pero es bastante fácil).

Aunque tengo una versión completa de Visual Studio, creo que las versiones gratuitas "Express" (http://www.microsoft.com/express/product/) son bastante capaces para muchas de estas tareas.

Cuestiones relacionadas