2011-02-02 15 views
7

Hay muchas páginas en las bibliotecas de GUI de C/C++, pero he tenido dificultades para encontrar las que tienen un aspecto nativo y las nativas se sienten.Biblioteca de GUI ligera C/C++ con aspecto nativo

He echado un vistazo a GTk +, y el problema es que, si bien emulan el aspecto de Windows muy bien, no hacen que sientan ventanas de Windows, porque no lo son. Los botones, por ejemplo, no se desvanecen en el vuelo estacionario como deberían en Windows 7; de repente se resaltan, porque de hecho son solo elementos dibujados a medida que se hacen a mira como botones.

¿Alguien sabe de una biblioteca de GUI multiplataforma liviana que realmente utiliza controles nativos (y por lo tanto se integra perfectamente con el sistema operativo), en lugar de simplemente tratar de emularlos? (Necesito que sea liviano, así que puedo vincularlo estáticamente con él, sin convertir un programa de 50 KB en un programa de 2 MB.)

+1

"porque de hecho son solo elementos hechos a medida que parecen botones". Creo que su impresión de qué es realmente un botón ... se interpreta un poco. Sin duda, siempre es un elemento dibujado que se hace para parecer un botón; independientemente de la implementación? – dcousens

+2

@Daniel: Mi impresión no se interpreta de ninguna manera. ¿Sabes cómo se crean los botones en Windows, en comparación con cómo se implementan en GTk? ¿Puedes notar la diferencia y alguna vez has usado Spy ++? – Mehrdad

+0

No sé nada de la mecánica detrás de las aplicaciones; sin embargo, mi comentario sigue siendo el mismo; ambos se dibujan en la pantalla, y ambos actúan como botones. Puedo entender que pueden carecer de algunas características que usted desea (como hover o fade in), pero son independientemente: botones, igual que cualquier otro ... Decir uno es imitación y uno es real, no tiene sentido lo que. No estoy seguro si esto es OT o no. – dcousens

Respuesta

6

¿Has probado wxWidgets?

Desde la página principal:

A diferencia de otros juegos de herramientas multiplataforma, wxWidgets da a sus aplicaciones un aspecto realmente nativa y se sienten, ya que utiliza la API nativa de la plataforma en lugar de emular la interfaz gráfica de usuario

+0

Esto parece interesante. El instalador de Windows solo tiene 11 MB. – ThomasMcLeod

+0

Eso * se ve * interesante. :) El único problema que tengo es que no puedo ejecutar ninguna de las demos con Visual Studio 2008. Obtengo 'c: \ wxWidgets-2.9.1 \ include \ wx/platform.h (256): error fatal C1083: No se puede abrir el archivo de inclusión: 'wx/setup.h': No existe tal archivo o directorio' pero las rutas parecen estar bien ... ¿alguna idea? (Si lo redirijo a '\ include \ msvc', aparece otro error con' wxSETUPH_PATH_STR' ...) – Mehrdad

+0

OMG sí, es ** exactamente ** lo que estaba buscando !! (Acabo de [descargar una demostración] (http://www.wxwidgets.org/downloads/demos.htm) para probarlo) ¡Muchas gracias! :) – Mehrdad

0

Si piensas en lo que estás preguntando, estás pidiendo mucho. Para hacer esto, las API de ventana/GUI deben abstraerse a un punto común en todas las plataformas admitidas. Esa es una tarea muy grande y compleja.

+2

Tal vez, pero [Java SWT] (http://www.eclipse.org/swt/) ya lo hace (Eclipse) ... por lo que ya se ha hecho antes, y solo estoy buscando una versión C/C++ . Parece factible, aunque difícil ... ¿no? (Y lamento decir esto, pero ¿esta es realmente una respuesta?) – Mehrdad

+1

@Mehrdad: Eclipse no es un muy buen ejemplo, ya que es todo menos ligero. –

+1

@Ben: Pero eso es Java, no C/C++. Incluso entonces, ¿tiene algún ejemplo de C/C++ que * no es * liviano? – Mehrdad

3

I sugerir Qt4. No sé si lo llamaría liviano, pero en mi opinión es el mejor marco multi-plataforma multiplataforma que existe. Y es gratis (LGPL). Viene con un IDE muy funcional - QtCreator.

+3

Aunque no usa widgets nativos; dibuja sus propios pseudo-widgets de una manera que se asemeja a los widgets nativos para el sistema operativo host ... que es lo que el que pregunta está tratando de evitar. –

-1

Revisaría FLTK. Se supone que es rápido y ligero. He trabajado con wxWidgets y FLTK, y FLTK es mucho más ligero. También tiene una herramienta de diseño de GUI que generará código si lo desea. Muchos programas de muestra también.

+3

supongo que la pregunta específicamente solicita una biblioteca GUI que 'usa controles nativos' y se siente como en casa en Windows ... no hay mención de ello en su respuesta ... Wikipedia dice' FLTK' [no tiene aspecto nativo- y sentirse en cualquier plataforma] (http://en.wikipedia.org/wiki/FLTK) ... lea detenidamente la pregunta antes de intentar una respuesta ... :) todo lo mejor ... – user1055604