PyQt vs wxWidgets (Spanish)
Tags: python, desktop, spanish, espanol
Published: 2019-10-27 18:57:29

*Practicing Spanish, let me know if any mistakes*

Python es un lenguaje de programación que puede utilizarse para crear aplicaciones de consola como para software de escritorio.

Los frameworks específicos ofrecen una interfaz gráfica o GUI para Python, pero los dos más utilizados son **wxPython** y **PyQt**.

Veamos a continuación cómo se comparan estos dos marcos y cuál se adapta mejor a sus necesidades.

Debería conocer <a href="https://pythonbasics.org">los conceptos básicos de Python</a> antes de intentar crear interfaces gráficas de usuario.

## Ventajas de wxPython

El aspecto más crítico de <a href="https://wxpython.org">wxPython</a> es su característica particular relacionada con las principales librerías diseñadas en C++.

Cuando creas algo, digamos un botón o una ventana, no recibirás un elemento que parezca que debería pertenecer a otro sistema operativo. Como resultado, recibirá el objeto que codificó con herramientas nativas.

Con wxPython, puede que necesite crear varios cambios específicos de la plataforma en su código GUI, basados en el objeto que está programando.

<img src="https://res.cloudinary.com/practicaldev/image/fetch/s--93A1i2yS--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/7zacuo3qsd5fnmsunxbp.png">

Como ejemplo, piense en el parpadeo asociado con el diseño de elementos en Windows, necesitará un atributo para duplicar el búfer de los gráficos para evitarlo. Y esto no está presente entre las funcionalidades por defecto.

Aunque pueda parecer una desventaja de wxPython, puede ser contrarrestada con un poco de dominio de las asignaciones específicas para wxPython.

wxPython es excelente para instalar en Linux o Windows, pero el proceso de instalación en Mac OS puede resultar problemático. Además, aunque wxPython te da acceso a características excepcionales, no viene con la misma flexibilidad que PyQt.

## Ventajas de PyQt

Bueno, PyQt está basado en el popular conjunto de herramientas Qt, y está escrito con la ayuda de C++ (PyQt es un enlace de Python al Qt Framework).

Sin embargo, una desventaja de este marco de trabajo es que no utiliza widgets nativos. En su lugar, conduce a una aproximación de los widgets basada en el tipo de sistema operativo detectado.

PyQt permite los ajustes necesarios que Python necesita para lograr una funcionalidad excepcional. En la mayoría de los casos, el código GUI permanece idéntico sin el tipo de sistema operativo.

Por lo tanto, una ventaja de PyQt frente a wxPython es que evita la mayoría de los problemas entre plataformas que puede encontrar durante la codificación.

<img src="https://res.cloudinary.com/practicaldev/image/fetch/s--nNCUa_Dk--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://external-content.duckduckgo.com/iu/%3Fu%3Dhttps%253A%252F%252Fi.stack.imgur.com%252F79FdX.png%26f%3D1%26nofb%3D1">

Otra ventaja de utilizar PyQt podría ser el hecho de que el proceso se desarrolla sin problemas, independientemente del tipo de sistema operativo que tenga. También puede crear su propio script como parte del proceso de instalación, lo que podemos decir con seguridad es una característica agradable de tener accesible.

Y PyQt se recomienda principalmente debido a su flexibilidad que le permite reordenar, flotar, cerrar o restaurar los paneles Qt en tiempo de ejecución. Es una de las interfaces más configurables y centradas en la usabilidad que encontrarás.

## ¿Qué elegir?

Por lo tanto, si se pregunta qué elegir entre PyQt y wxPython, podemos decirle que se trata de las fortalezas de su kit de herramientas.

wxPython es fácil e intuitivo, mientras que puede ser usado con una GUI. En general, es la mejor opción para aquellos que tienen instalado GTK, ya que tiene acceso a dependencias mínimas.

Por otro lado, PyQt representa un marco fundacional confiable, comúnmente utilizado debido a la impresionante cantidad de recursos y comunidades de usuarios.

**Resources**
* <a href="https://gum.co/pysqtsamples">Course on PyQt Desktop Apps</a>
* <a href="https://pythonspot.com/wxpython-window/">wxPython tutorial</a>
* <a href="https://pythonbasics.org/pyqt-hello-world/">PyQt tutorial</a>