Ir al contenido

PySimpleGUI

De Wikipedia, la enciclopedia libre
Esta es una versión antigua de esta página, editada a las 23:52 3 jul 2021 por Alv Erteynsteyn (discusión · contribs.). La dirección URL es un enlace permanente a esta versión, que puede ser diferente de la versión actual.
(difs.) ← Revisión anterior | Ver revisión actual (difs.) | Revisión siguiente → (difs.)
PySimpleGUI
Información general
Lanzamiento inicial 11 de julio de 2018[1]
Licencia GNU Lesser General Public License (LGPLV3+)
Información técnica
Programado en Python
Versiones
Última versión estable 3.20.0 (18 de diciembre de 2018)
Enlaces

PySimpleGUI es un contenedor de la API de Python del módulo Tkinter que permite al programador utilizar los mismos elementos de la interfaz de usuario que con Tkinter pero con una interfaz más intuitiva. PySimpleGUI se estableció con el propósito de crear un proceso de desarrollo de GUI de Python más fácil de usar, y agrega la capacidad de definir diseños personalizados.[2]

Licencia

PySimpleGUI está aprobado por OSI bajo la Licencia Pública General Reducida de GNU (LGPLV3 +) o posterior.

Objetivo

Lanzado en julio de 2018, PySimpleGUI buscó una solución para optimizar los esfuerzos de desarrollo de la Interfaz gráfica de usuario (GUI) de Python y facilitar a los usuarios el uso de una interfaz gráfica.[1]​ Está dirigido al desarrollador, para que puedan crear una GUI personalizada con un código lo más conciso posible.

Características

Las características de PySimpleGUI se pueden dividir en llamadas de “alto nivel” que permiten a la persona que las utiliza realizar operaciones de entrada/salida en una sola llamada de función y capacidades de “GUI personalizada”. Las llamadas de alto nivel suelen comenzar con "Popup". El más básica es Popup, que muestra un número variable de elementos en una ventana emergente. Se parecen a la declaración "print" incorporada, tomando cualquier número de variables en cualquier formato y mostrándolas en una ventana. Las llamadas Popup que recopilan la entrada del usuario incluyen PopupGetText, PopupGetFile y PopupGetFolder. Las GUI personalizadas se logran creando primero un "diseño de GUI" que se utiliza para crear y mostrar una ventana. El diseño de la GUI se compone de "Elementos", el término de PySimpleGUI para un "Widget" de la GUI.

Se puede simplificar y compactar el código aprovechando dos de los "atajos" de PySimpleGUI. Los nombres de los elementos se pueden escribir en formato abreviado. Reduce la cantidad de texto en el código sin perder significado.

Un segundo mecanismo de atajo son los botones predefinidos. Estos son botones que se encuentran comúnmente en todas las GUI, como "aceptar", "cancelar", "sí". En lugar de escribir Button ('ok'), un atajo de botón permite escribir Ok(*), Cancel(), Yes().

Ejemplos de elementos UI, botones y abreviaciones
Elementos UI Botones Abreviaciones
Checkbox

Column

FileBrowse

Image

InputCombo

InputText

Listbox

Multiline

Output

ProgressBar

Radio

ReadFormButton

RealtimeButton

SimpleButton

Slider

Spin

Text

FolderBrowse

Cancel

Exit

FileBrowse

FileSaveAs

FolderBrowse

No

OK

Ok

Quit

ReadFormButton

RealtimeButton

Save

SimpleButton

Submit

Yes

T = Text

Txt = Text

In = InputText

Input = IntputText

Combo = InputCombo

DropDown = InputCombo

Drop = InputCombo

Objetivos de Diseño

El objetivo de PySimpleGUI con la API es facilitarle la tarea al programador y que pueda trabajar como siempre lo ha hecho en Python. Dado que las GUI son visuales, es deseable que el código coincida visualmente con lo que se ve en la pantalla.[2]

Algunos ejemplos de cómo este paquete utiliza las construcciones del lenguaje de forma natural y aprovecha algunas de las mejores caracterísitcas de Python:

  • Los formularios se representan como listas de Python.
    • Un formulario es una lista de filas.
    • Una fila es una lista de elementos.
  • Los valores devueltos son una lista botones pulsados y valores de entrada.
  • Los valores devueltos también se pueden representar como un diccionario.

Las llamadas al SDK se contraen en una sola línea de código Python que presenta una GUI personalizada y devuelve valores.[3]

Además de una API similar a Python, la documentación de PySimpleGUI proporciona una serie de fragmentos de código de ejemplo que permiten a los desarrolladores que lo necesiten ponerse en marcha copiando, pegando, y a veces modificando el código para crear la GUI deseada sin necesidad de aprender los fundamentos de la biblioteca antes de usarla.[2]

Ejemplo

PySimpleGUI se centra en la creación de la interfaz de usuario nativa de Python con un código lo más sencillo posible. Al crear una interfaz de usuario, cada llamada tiene parámetros opcionales que permiten cambiar la apariencia. Se puede cambiar el color de un botón agregando un parámetro button_color a su widget.

Con una GUI simple, resulta práctico "asociar" archivos .py con el intérprete de Python en Windows. Al hacer doble clic en un archivo .py y aparecerá una ventana GUI, una experiencia más agradable que abrir una ventana DOS y escribir un comando.

Hola Mundo

import PySimpleGUI as sg

layout = [[sg.Text('Hola Mundo')],
        [sg.Ok()]]

window = sg.Window('Wikipedia Window').Layout(layout)
event, data = window.Read()

Compatibilidad

  • Python 2.7 tkinter
  • Python 3 tkinter
  • Qt
  • Windows
  • Mac
  • Linux
  • PyPy3

Referencias

  1. a b «PySimpleGUI». Libraries.io (en inglés). Consultado el 3 de julio de 2021. 
  2. a b c «PySimpleGUI 4.45.0». pypi.org (en inglés). Consultado el 3 de julio de 2021. 
  3. «A simple yet powerful GUI built on top of tkinter». Python Awesome (en inglés). 19 de julio de 2018. Consultado el 3 de julio de 2021. 

Enlaces externos