¿Te gustaría aprender Python desde cero?
Tenemos los cursos que necesitas.¡Haz clic aquí!
En Python, los pasos para comenzar con la programación GUI no son terriblemente complejos, pero requieren que el usuario comience a tomar algunas decisiones. Por su naturaleza como un lenguaje de programación de propósito general con intérpretes disponibles en todos los sistemas operativos comunes, Python tiene que ser bastante agnóstico en cuanto a las opciones que presenta para crear interfaces gráficas de usuario.
Afortunadamente, hay muchas opciones disponibles para los programadores que buscan crear una forma fácil para que los usuarios interactúen con sus programas. Existen enlaces para varios marcos de UI en una variedad de plataformas, incluidas las nativas de Linux, Windows y Mac, y muchas que funcionan en los tres.
¿Realmente tiene sentido que su aplicación tenga una interfaz gráfica de usuario tradicional? Para algunos programas, la respuesta es obvia. Si su aplicación es intrínsecamente gráfica y está optimizada o simplemente tiene sentido para ejecutarse localmente en una sola máquina local, entonces sí, probablemente debería considerar la construcción de una GUI de escritorio. Muchas veces, esto se hace obvio por lo que está diseñando.
Pero para programas de propósito general, no cuente ni la línea de comando ni una interfaz web. La línea de comandos ofrece muchas ventajas (velocidad, acceso remoto, reutilización, capacidad de secuencia de comandos y control) que pueden ser más importantes para los usuarios de su aplicación que una interfaz gráfica, y hay muchas bibliotecas como Click , Cement y Cliff que facilitan excelentes programas de línea de comandos.
Del mismo modo, una interfaz web, incluso para un programa destinado a ejecutarse localmente, podría ser una opción que vale la pena considerar, especialmente si cree que sus usuarios pueden desear alojar su aplicación de forma remota, y proyectos como Django , Flask o Pyramid hacen que esto sea sencillo . Incluso puede usar una biblioteca como pywebview para colocar un envoltorio delgado alrededor de una aplicación web en una ventana GUI nativa.
Alternativamente, puede utilizar un marco como Pyforms para crear una experiencia coherente en la web, la línea de comandos y el escritorio, todo con una única base de código.
PyQt, PySide y Qt para Python
PyQt implementa la popular biblioteca Qt , por lo que si estas familiarizado con el desarrollo de Qt en otro idioma, tal vez por desarrollar aplicaciones nativas para KDE u otro entorno de escritorio basado en Qt, es posible que ya estés familiarizado con Qt. Esto abre la posibilidad de desarrollar aplicaciones en Python que tengan un aspecto familiar en muchas plataformas, al tiempo que aprovechan las herramientas y el conocimiento de la gran comunidad Qt.
Qt está bien establecido en la comunidad de desarrolladores y tiene herramientas que reflejan eso. Escribir aplicaciones Python alrededor de Qt significa que tiene acceso a QtCreator , que cuenta con un modo de diseñador para generar código para el diseño de su aplicación.
Tkinter
Si hubiera un solo paquete que podría llamarse el kit de herramientas de GUI «estándar» para Python, sería Tkinter . Tkinter es un envoltorio de Tcl / Tk , una interfaz gráfica popular y un emparejamiento de idiomas que se popularizó por primera vez a principios de los 90. La ventaja de elegir Tkinter es la gran cantidad de recursos, incluidos libros y ejemplos de código, así como una gran comunidad de usuarios que pueden ayudarlo si tiene alguna pregunta.
WxPython
WxPython trae la biblioteca GUI multiplataforma wxWidgets de su C ++ nativo a Python. WxPython parece un poco más nativo que Tkinter en diferentes sistemas operativos porque usa los widgets del sistema host para construir una GUI. También es bastante fácil comenzar y cuenta con una comunidad de desarrolladores en crecimiento. Es posible que deba empaquetar wxPython con sus aplicaciones o, de lo contrario, solicitar al usuario que lo instale por su cuenta, ya que no se instala automáticamente con Python.
Python GTK + 3
Anteriormente conocido como PyGTK, el proyecto Python GTK + 3 proporciona enlaces de Python a objetos GTK (ventanas, widgets, etc.). GTK + es el más famoso como base para el escritorio GNOME, pero está disponible para aplicaciones independientes en Linux, Windows y Mac. Con Python GTK + 3, el mismo marco está disponible para sus proyectos de Python.
Cuando usamo Python GTK + 3, puede usar muchas de las mismas herramientas de desarrollo creadas para GTK +. En particular, esto incluye Glade , un diseñador de interfaces para aplicaciones GTK +. Las interfaces diseñadas en Glade se guardan como XML y el objeto GtkBuilder las usa en el código de su aplicación, pero la interfaz que usa es arrastrar y soltar, lo que facilita la creación de una interfaz de usuario dinámica y receptiva sin tener que traducir lo que ve en su mente en el código de diseño.
Kivy
Construido teniendo en cuenta el desarrollo rápido y los dispositivos modernos, Kivy es un conjunto de herramientas para Linux (incluida la Raspberry Pi), Windows, Mac y Android. El proyecto se centra en «interfaces de usuario innovadoras» y se ha utilizado para aplicaciones multimedia, como aplicaciones de controladores de música para teléfonos o aplicaciones de pizarra que ocupan toda la pared de una sala de reuniones.
Kivy no tiene un programa de diseño visual como QtCreator y Glade, pero usa su propio lenguaje de diseño para ayudarlo a asociar el diseño de la interfaz de usuario con los objetos de código. Esto le facilita la compartimentación (tanto mental como en el código de diseño) de las clases y funciones en su aplicación. Kivy también alberga el Kivy Garden, un repositorio de widgets y complementos creados por el usuario, por lo que si está pensando en crear algo que Kivy no proporcione, es posible que ya exista.
Muchas de las opciones disponibles son para aplicaciones tradicionales que adoptan la apariencia de ventana de su entorno de escritorio principal, pero también hay ocasiones en las que es posible que desees hacer algo completamente diferente, por ejemplo, dentro de un videojuego. También hay grandes bibliotecas para estas situaciones, como pygame , pyglet y Panda3d .
Te esperamos en los siguientes artículos en donde hablaremos más acerca de estos temas, los cuales hoy en día son de vital importancia en el mundo de la tecnología.
¿Te gustaría aprender Python desde cero?
Tenemos los cursos que necesitas.¡Haz clic aquí!