Red de conocimiento informático - Problemas con los teléfonos móviles - Programación mixta Qt y gtk

Programación mixta Qt y gtk

Un muy buen artículo.

Texto original: conozco tres kits de herramientas GUI multiplataforma de código abierto: GTK, Qt y wxWidgets.

1. GTK+0

Fundación GTK+

GTK+ era originalmente una biblioteca de desarrollo dedicada para GIMP y luego se convirtió en una herramienta de desarrollo convencional para desarrollar interfaces gráficas. aplicaciones bajo Linux. GTK+2.0 es software gratuito y parte del proyecto GNU. El acuerdo de licencia de GTK+2.0 es LGPL.

GTK+ fue desarrollado en lenguaje C, pero sus diseñadores utilizaron tecnología orientada a objetos. Existen enlaces para C++ (gtkmm), Perl, Ruby, Java y Python (PyGTK) en la plataforma GNOME. Otros enlaces incluyen Ada, D, Haskell, PHP y todos. Lenguaje de programación NET.

A diferencia de muchos otros kits de herramientas de componentes, GTK+ no está basado en Xt. La ventaja de esta decisión es que GTK+ se puede aplicar a otros sistemas y tiene una gran flexibilidad; la desventaja es que la base de datos de recursos X personalizada para X11 no se puede utilizar mediante métodos tradicionales.

Glade es una herramienta de diseño de interfaces, pero también contiene un lenguaje XML para describir la interfaz GUI. Usando libglade, puede usar controles GTK y GNOME directamente.

2. Qt

Introducción a Qt

Qt es un producto de Trolltech.

Qt es un marco de aplicación de interfaz gráfica de usuario C++ multiplataforma. Proporciona a los desarrolladores de aplicaciones la funcionalidad que necesitan para crear interfaces gráficas de usuario artísticas. Qt está totalmente orientado a objetos, es fácilmente extensible y permite una verdadera programación de componentes.

Qt ha estado disponible comercialmente desde principios de 1996 y se ha convertido en la base de miles de aplicaciones exitosas en todo el mundo. Qt es también la base del popular entorno de escritorio Linux KDE, que es un componente estándar de todas las principales distribuciones de Linux.

Qt soporta las siguientes plataformas: MS/Windows-95, 98, NT 4.0, ME y 2000.

Unix/X11-Linux, Sun Solaris, HP-UX, Compaq Tru64 UNIX, IBM AIX, SGI IRIX y otras plataformas.

Macintosh-Apple OS X

Plataforma Linux integrada que soporta frame buffering.

3.wxWidgets

Software de código abierto (LGPL), un conjunto de herramientas multiplataforma para C++, Python y Perl.

Para obtener más detalles, consulte la explicación detallada en wxWindows.

WxWidget, como biblioteca GUI de C++, ha tenido un gran impacto a nivel internacional desde su desarrollo en 1992. Hay innumerables programas que utilizan esta biblioteca de clases para desarrollar GUI.

WxWidgets, anteriormente conocido como wxWindows, es un proyecto iniciado en 1992 por Julian Smart del Instituto de Aplicaciones de Inteligencia Artificial de la Universidad de Edimburgo en el Reino Unido. Julian Smart es ahora el director técnico de Anthemion Software.

En resumen, wxWidgets proporciona un conjunto de API fáciles de aprender y usar para desarrollar aplicaciones GUI en múltiples plataformas. Las múltiples plataformas soportadas por wxWidgets incluyen

Windows 3.1/95/98/NT/2000/XP con Motif

Unix 1.2 o superior, UNIX/Linux con GTK+/* BSD, Mac etc. Los desarrolladores solo necesitan utilizar el compilador de su propia plataforma de sistema para compilar el programa fuente y vincularlo.

El archivo de biblioteca correspondiente y el código del programa generado tienen la apariencia e interfaz de la plataforma. Además de estas GUI, wxWidgets también proporciona ayuda en línea, programación de red, procesamiento de secuencias y varios formatos de gráficos comunes.

Conservación, soporte de bases de datos, visualización e impresión de HTML, etc.

WxWidgets admite varios compiladores populares en Windows, incluidos:

Visual C++ 1.5, 4.0, 5.0, 6.0

Borland C++ 4.5, 5.0

p >

Borland C++ Builder 1.0, 3.0

Watcom C++ 10.6 (Win32)

Cygwin

MinGW32

Trabajador del metro guerrero codificador 4

Uno de los atractivos de wxWidgets y GTK+ es que su tipo de licencia wxWidgets 2 es LGPL (Lesser

Licencia pública general

), lo que también Por ejemplo, el software desarrollado con él no requiere código fuente abierto. De esta forma, los desarrolladores de software libre, software tipo GPL y software puramente comercial pueden utilizarlo de forma gratuita.

Este paquete de software.

Por el contrario, Qt de TrollTech parece afectar su aceptación debido a este factor, porque las tarifas que los desarrolladores deben pagar para usar el software Qt son personales.

Para los desarrolladores sigue siendo relativamente caro. y está dividido en tres paquetes de productos diferentes: plataforma única, dos plataformas y tres plataformas (es decir, Qt/X11, Qt/Windows y Qt/Mac están incluidos).

La versión profesional y la versión empresarial son diferentes, es decir, el precio es diferente y los precios son diferentes para diferentes desarrolladores.

Desde este punto de vista, wxWidgets es definitivamente mejor. Además, Qt se originó a partir del desarrollo de Linux y luego se expandió a otras plataformas como Windows y Mac. WxWidgets comenzó con Windows y luego fue portado a otras plataformas como Unix.

En cuanto a la licencia LGPL (Lesser General Public License), esta es GNU.

Una licencia menos estricta en la familia de licencias. La LGPL permite que cualquiera utilice la funcionalidad proporcionada por la biblioteca.

Requiere que los usuarios expongan el código de la aplicación. (Esto es muy importante para muchas aplicaciones industriales, porque generalmente hay renuencia a divulgar el código o obviamente no es realista divulgar el código en este caso debido a acuerdos o licencias anteriores). Producción

Sí Con Con una licencia LGPL, puede convertirse en un buen socio y ciudadano de la comunidad de código abierto.

Traducción informal al chino. Ver /lgpl/

Otros recursos: breves reseñas de bibliotecas GUI famosas (GTK+, Qt, wxWidgets)

Etiquetas Technorati: GTK, Qt, wxwidgets, interfaces gráficas, multiplataforma

Encontré esto en Internet solo como referencia, ¡puede resultarle útil!