PyQT vs wxPython: ¿Cuál de ellos debe utilizar para su proyecto?
Examinemos estos dos módulos de Python para hacer GUIs (Interfaces Gráficas de Usuario).
¿Qué es Python?
Python es un lenguaje de programación de alto nivel, interpretado y de propósito general. Es un lenguaje de programación popular que puede hacer tanto programación orientada a objetos como scripting.
Aunque fue diseñado y desarrollado por primera vez en el año 1990 (hace 29 años) por Guido van Rossum, recientemente tuvo su lanzamiento estable en el mes de octubre del año 2019.
#!/usr/bin/python3
imprimir "Hello World"
Python ha sido un lenguaje de programación popular a lo largo de los años y es muy apreciado por los programadores por su énfasis en la legibilidad del código y su notable uso del espacio en blanco que permite a los programadores escribir códigos lógicos para proyectos de pequeña y gran escala.
Antes de crear una interfaz gráfica de usuario, debe conocer los Bases de Python .
GUI: Interfaz gráfica de usuario
Hay muchos frameworks que han ayudado a proporcionar un GUI (Graphic User Interface) para python, y todos ellos tienen sus ventajas y desventajas en diferentes áreas, así como su funcionalidad, pero dos de las interfaces más importantes son PyQT y wxPython.
Ahora, como programador, ¿qué es mejor para ti? ¿Existe alguna diferencia notable entre los dos? Y la pregunta importante: ¿Cuál debería utilizar para su proyecto?
Este artículo pretende responder a todas estas preguntas, dividiéndolas en diferentes categorías a efectos de comparación:
Mira
La estética general puede no parecer importante, pero es lo primero que una persona nota cuando se enciende la aplicación.
Para PyQt, está escrito en C++ como wxPython, pero no utiliza widgets nativos como el wxPython.
Lo que hace en cambio es crear aproximaciones de widgets dependiendo del Sistema Operativo (SO) detectado, mientras que el wxPython tiene bibliotecas centrales que están presentes como envolturas alrededor de los widgets nativos del sistema operativo.
El PyQt hace buenas aproximaciones de los widgets, tan buenas de hecho, que es casi imposible encontrar un usuario (ni siquiera estudiantes de arte) que se quejen de cómo el PyQt no se ve o se siente nativo.
Por otro lado, el wxPython no necesita hacer aproximaciones ya que le da el objeto exacto que codificó con sus herramientas nativas.
Proceso de instalación
Los pasos y el esfuerzo requerido para instalar una aplicación es muy importante, especialmente si se trata de una interfaz que desea distribuir a las personas para que la utilicen.
Para PyQt, la instalación es más fácil que quitarle un caramelo a un bebé. Todo lo que tienes que hacer es obtener un enlace para descargar, instalar el paquete descargado y estar usando la aplicación antes de que te des cuenta.
Para wxPython, la instalación en Linux y Windows es fácil, pero muy agitada en Mac OS.
Layout
El diseño de PyQt es muy sencillo. Los widgets tienen un nombre razonable, por ejemplo, QPushButton, QDial, etc.
En wxPython, que el widget fundacional en el wxPython es la ventana wx.Window, y todo, ya sea un botón pulsador, un dial o una casilla de verificación se encuentra en la clase wx.Window.
Tanto wxPython como PyQt soportan diseños de cuadrícula y posicionamiento absoluto.
PyQt tiene un constructor GUI WYSIWYG llamado qt designer que le permite arrastrar y soltar sus widgets.
Mientras que wxPython tiene algunos diseñadores (wxGlade, boa-constructor), no son tan fáciles de usar (en mi opinión).
¿Cuál es mejor?
Depende. El wxPython es fácil de usar y las soluciones se pueden crear fácilmente cuando no es simple. Sin embargo, el PyQt es grande y tiene una gran comodidad que viene con este tamaño.
Antes de elegir la interfaz que desea utilizar o recomendar, recuerde que ambas son buenas y sólidas interfaces gráficas de usuario, pero son diferentes por su diseño y útiles en diferentes situaciones.
Resources:
Top comments (1)
Yo cuando estuve aprendiendo Python con interfaces gráficas me lo enseñaron con Tkinter que es como viene por defecto, pero o me gustó la forma en que se manejaba y buscando entre opciones encontré esas 2 y a mí parecer PyQt era más completo y fácil de usar.