Interfaz gráfica de usuario de Python: PyQt VS TKinter

 Un kit de herramientas GUI contiene widgets que se utilizan para crear una interfaz gráfica. Python incluye una amplia gama de implementaciones de interfaz disponibles, desde TkInter (viene con Python) hasta una variedad de soluciones multiplataforma, como PyQt5, que es conocida por sus widgets más sofisticados y su apariencia elegante. 

PyQt

PyQt es un conjunto de herramientas para widgets de interfaz gráfica de usuario (GUI). Está extraído de la biblioteca de Qt. PyQt es el producto de la combinación del lenguaje Python y la biblioteca Qt. PyQt viene con Qt Builder. Lo usaremos para obtener el código python del Qt Creator. Con el apoyo de un diseñador qt, podemos construir una GUI y luego podemos obtener el código Python para esa GUI. PyQt es compatible con todas las plataformas, incluidas Windows, macOS y UNIX. PyQt se puede usar para crear GUI elegantes, un marco de Python moderno y portátil. 

Código:

Python3

# Import sys for handle the 
# exit status of the application.
import sys
  
# Importing required widgets
from PyQt5.QtWidgets import QApplication
from PyQt5.QtWidgets import QLabel
from PyQt5.QtWidgets import QWidget
  
# To create an instance of QApplication
# sys.argv contains the list of
# command-line argument
app = QApplication(sys.argv)
  
# To create an instance of application GUI
# root is an instance of QWidget,
# it provides all the features to
# create the application's window
root = QWidget()  
  
# adding title to window
root.setWindowTitle('Geeks App') 
  
# to place txt at the coordinates
root.move(60, 15) 
  
# to display text
txt = QLabel('Welcome, Geeks!', parent = root) 
txt.move(60, 15)
  
# Show application's GUI
root.show()
  
# Run application's main loop
sys.exit(app.exec_())

Producción:

Una aplicación simple para mostrar texto usando PyQt.

Ventajas de usar PyQt

  • Versatilidad de codificación: la programación de GUI con Qt se basa en la idea de señales y ranuras para crear contacto entre objetos. Esto permite versatilidad en el manejo de incidentes de GUI, lo que da como resultado una base de código más fluida.
  • Más que un marco: Qt utiliza una amplia variedad de API de plataforma nativa para redes, desarrollo de bases de datos y más. Proporciona acceso primario a ellos a través de una API especial.
  • Varios componentes de la interfaz de usuario: Qt proporciona múltiples widgets, como botones o menús, todos diseñados con una interfaz básica para todas las plataformas compatibles.
  • Varios recursos de aprendizaje: como PyQt es uno de los sistemas de interfaz de usuario más utilizados para Python, puede acceder cómodamente a una amplia variedad de documentación.

Desventajas de usar PyQt

  • Falta de documentación específica de Python para clases en PyQt5
  • Se necesita mucho tiempo para comprender todos los detalles de PyQt, lo que significa que es una curva de aprendizaje bastante empinada.
  • Si la aplicación no es de código abierto, debe pagar una licencia comercial.

Tkinter

Tkinter es una biblioteca de interfaz gráfica de usuario (GUI) de Python de código abierto conocida por su simplicidad. Viene preinstalado en Python, por lo que ni siquiera necesita pensar en instalarlo. Estas características lo convierten en una posición sólida para principiantes e intermedios. Tkinter no se puede utilizar para proyectos de mayor escala.

Código:

Python3

# importing the module tkinter
import tkinter as tk
  
# create main window (parent window)
root = tk.Tk()
  
# Label() it display box
# where you can put any text. 
txt = tk.Label(root,
               text="Welcome to GeekForGeeks")
  
# pack() It organizes the widgets
# in blocks before placing in the parent widget.
txt.pack()
  
# running the main loop
root.mainloop()

Producción:

Una aplicación simple para mostrar texto usando tkinter.

Ventajas de usar Tkinter

  • Tkinter es fácil y rápido de implementar en comparación con cualquier otro conjunto de herramientas GUI.
  • Tkinter es más flexible y estable.
  • Tkinter está incluido en Python, por lo que no es necesario descargar nada adicional.
  • Tkinter proporciona una sintaxis simple.
  • Tkinter es realmente fácil de entender y dominar.
  • Tkinter proporciona tres administradores de geometría: lugar, paquete y cuadrícula. Eso es mucho más potente y fácil de usar.

Desventajas de usar Tkinter

  • Tkinter no incluye widgets avanzados.
  • No tiene una herramienta similar a Qt Designer para Tkinter.
  • No tiene una interfaz de usuario confiable.
  • En algún momento, es difícil depurar en Tkinter.
  • No es puramente pythonico.

Diferencia entre PyQt y Tkinter

No. Base

PyQt

Tkinter

1. Licencia PyQt está disponible bajo la licencia comercial de Riverbank y GPL v3 ( licencia pública general v 3.0 ) y si no desea publicar su aplicación bajo una licencia compatible con GPL, debe solicitar una licencia comercial.  Tkinter es de código abierto y gratuito para cualquier uso comercial.
2. Facilidad de comprensión Se requiere mucho tiempo para comprender todos los detalles de PyQt. Tkinter es fácil de entender y dominar debido a una pequeña biblioteca.
3. Diseño PyQt tiene un aspecto moderno y una buena interfaz de usuario. Tk tenía un diseño antiguo y parece obsoleto.
4. Widgets thenPyQt viene con muchos widgets potentes y avanzados.   TkInter no viene con widgets avanzados.
5. Generador de interfaz de usuario PyQt tiene una herramienta Qt Designer que podemos usar para crear GUI en lugar de obtener el código Python de esa GUI usando Qt Designer. No tiene una herramienta similar a Qt Designer para Tkinter.
6. Instalación PyQt no se incluye de forma predeterminada con las instalaciones de Python. Se incluye en la biblioteca estándar de Python, por lo que no es necesario instalarlo por separado.

Publicación traducida automáticamente

Artículo escrito por amnindersingh1414 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *