Calificación:
  • 0 voto(s) - 0 Media
  • 1
  • 2
  • 3
  • 4
  • 5
Bibliotecas: Tkinter vs PyQT
#1
Python 3.10.3

Hola a todos

Bueno, simplemente esa pregunta

1° ¿Qué Biblioteca es mejor el Desarrollo de Aplicaciones de Escritorio, Tkinter o PyQT?
2° ¿Hay alguna IDE en línea o de escritorio al estilo Visual Studio o Netbeans para facilitar el diseño de las Aplicaciones?

Desde ya Muchísimas Gracias
Responder
#2
Hola, bienvenido.

No creo que una sea mejor que otra. Yo usé ambas para proyectos personales y profesionales, así que te comento mi expieriencia.

Qt es ciertamente mucho más grande que Tk, además de incluir otras funcionalidades ajenas al desarrollo de interfaces gráficas (hilos, conexiones SQL, HTTP, etc.). Está escrita en C++ y la documentación oficial está pensada para usuarios de C++, así que tal vez es un poco más difícil de leer. Para aplicaciones comerciales tiene una licencia comercial, para aplicaciones de código abierto es gratuita. Tiene muchos más controles disponibles que Tk (por ejemplo, calendario) y por ende se pueden crear interfaces muy complejas usando solo los componentes de la librería. Es más fácil de personalizar la apariencia de la interfaz porque se hace con un lenguaje de estilos similar a CSS. Distribuir aplicaciones de Python + Qt "compiladas" (en el sentido más laxo del término) puede ser un poco engorroso por la cantidad de dependencias que tiene la librería.

Tk es más pequeño y por ende más fácil de aprender y de usar. Se lleva muy bien con Python y es muy estable. La documentación oficial de Tk no es muy amigable tampoco, está diseñada para usuarios del lenguaje Tcl (en el blog estamos haciendo un esfuerzo por documentar gran parte de Tk en español y para Python). Es totalmente gratuito y de código abierto, aun para aplicaciones comerciales. Tiene un sistema de estilos interesante, aunque un poco más rebuscado que el de Qt, pero se pueden encontrar muchos estilos gratuitos en internet. Incluye una cantidad de controles suficiente para la mayoría de las aplicaciones de escritorio. Es fácil de distribuir en aplicaciones compiladas.

Por cierto, en Qt tenés Qt Designer, para diseñar la interfaz sin código y luego importarla desde tu archivo de Python. En Tk no hay nada parecido. Para muchos esto es algo importante. Yo siempre prefiero diseñar la interfaz vía código.

Mi recomendación es que simplemente intentes hacer una aplicación sencilla con ambas librerías y te fijes cuál se ajusta más a tus intereses. Para la mayoría de las aplicaciones de escritorio, es indistinto la librería que utilices. También existen wxWidgets y GTK+ que son bastante usadas en la comunidad de aplicaciones GUI.

En cuanto al IDE en línea, no conozco. Pero tampoco recomendaría usar un editor de código en la web, ¡es muy incómodo!

Saludos
Responder
#3
Gracias Francisco

Sos un Groso!

Te llamás igual que mi Hijo.

Bueno, Excelente y extraordinariamente completa tu respuesta. Hay pocos que se dignan responder con tanta claridad y profundidad. Permitíme Felicitarte.

Quería aprovechar tu gran conocimiento y experiencia para consultarte sobre Google Colab (en línea).
No estoy seguro, pero creo que en forma predeterminada tiene incorporadas una gran cantidad de Bibliotecas, incluyendo las necesarias para la conexión a Bases de Datos.
En consecuencia, sobre lo planteado:

1° ¿Google Colab es mejor y más completo que Visual Studio Code en el que hay que instalar las Bibliotecas que se vayan necesitando como pyodbc o flask?
2° ¿Qué Desventajas presenta Google Colab en comparación con Visual Studio Code?

Desde ya Muchísimas Gracias
Responder
#4
¡De nada! Me alegra que te haya servido la respuesta Smile.

En cuanto a Google Colab, no lo conocía. Pero echando un vistazo rápido veo que está principalmente orientado al ámbito de la ciencia de datos. No estoy mucho en el tema, pero entiendo que ahí sí una plataforma de esas características puede resultar más útil que un IDE local (VSCode o el que fuera) por el hecho de que tenés acceso a un hardware mucho más potente para entrenar tus modelos de aprendizaje automático. Para cualquier otra aplicación convencional te recomiendo que uses Visual Studio Code o algún otro editor de código local, que es la forma en que programa el 99% de los desarrolladores. Ni siquiera debe ser posible correr una aplicación de escritorio en Colab. El hecho de que tenga bibliotecas preinstaladas es irrelevante, pues de manera local se instalan sencillamente ejecutando un simple comando en la terminal (pip install ...).

Saludos
Responder


Salto de foro:


Usuarios navegando en este tema: 1 invitado(s)