4 puntos por GN⁺ 2023-12-11 | 1 comentarios | Compartir por WhatsApp

Introducción a PySimpleGUI

  • PySimpleGUI es un paquete de Python que permite a programadores de Python de todos los niveles crear interfaces gráficas.
  • Usa un layout para definir la ventana de la GUI, y crea e interactúa con la ventana usando uno de estos frameworks: tkinter, Qt, WxPython o Remi.
  • El código de PySimpleGUI es más simple y corto que usar directamente el framework subyacente, e implementa mucho boilerplate code.
  • Si es necesario, se puede acceder directamente a los widgets y ventanas del framework, por lo que también es posible extender configuraciones o funciones que no están expuestas o no son accesibles a través de la API de PySimpleGUI.

Superando la "brecha de GUI"

  • Python ha atraído a muchas personas a la comunidad de programación, pero la mayoría de los programas en Python están basados en la "línea de comandos", lo que los hace menos accesibles para usuarios generales.
  • Agregar una GUI hace que un programa sea más accesible y amplía el alcance de usuarios.
  • Una GUI facilita la interacción con algunos programas y también ayuda a usuarios que ya están familiarizados con la interfaz de línea de comandos.

Reconocimiento del uso de código abierto

  • Se proporciona una lista de los paquetes utilizados por PySimpleGUI o en los repositorios de la cuenta de PySimpleGUI.
  • Si en un proyecto se usa software de código abierto, es recomendable proporcionar información sobre los paquetes utilizados.

Subiendo la "barra"

  • Frente a la idea de que la programación de GUI tiene una barrera de aprendizaje alta, el proyecto PySimpleGUI intenta reducirla.
  • Reciben correos de usuarios que lograron crear con éxito programas con GUI mediante PySimpleGUI y expresan su alegría y agradecimiento.

Materiales educativos

  • Existe un curso oficial de PySimpleGUI en Udemy y se pueden usar códigos de cupón.
  • En www.PySimpleGUI.org se puede encontrar la documentación, junto con varios recursos documentales y funciones de búsqueda sencillas.
  • Se puede aprender de forma rápida y efectiva mediante cientos de páginas de documentación y programas de ejemplo.

Opinión de GN⁺

Lo más importante de este texto es que PySimpleGUI es una herramienta que ayuda a los usuarios de Python a crear interfaces gráficas con facilidad. Puede ser utilizada por desarrolladores de todos los niveles, desde principiantes hasta expertos, y ofrece la capacidad de integrarse con diversos frameworks. Este texto resulta interesante porque muestra el potencial de PySimpleGUI para aumentar la accesibilidad a la programación y permitir que más personas hagan realidad sus ideas.

1 comentarios

 
GN⁺ 2023-12-11
Comentarios de Hacker News
  • Un proyecto que usó PySimpleGUI para registrar tiempo en Jira

    • Debido a lo incómodo que era usar el sitio web de Jira, hubo interés en desarrollar una app de escritorio con una lista de issues asignados y botones para agregar registros y comentarios.
    • Al usar Tkinter hubo dificultades con el diseño de la UI, pero con PySimpleGUI la velocidad mejoró considerablemente.
    • Fue un buen proyecto para implementar las funciones deseadas integrándose con la API de Jira y aprender desarrollo de UI.
  • Interés en los frameworks GUI y ventajas de PySimpleGUI

    • Considera que la experiencia nativa de escritorio es superior a una UI basada en web.
    • Evalúa como innovadores el bucle de eventos simplificado de PySimpleGUI y su enfoque de múltiples backends.
    • Expresa interés en la idea de generar automáticamente una GUI basada en estructuras de datos y funciones.
  • Aspectos estéticos de PySimpleGUI y dificultades para aplicar estilos

    • Aunque los ejemplos de PySimpleGUI parecen de los años 90, es adecuado para prototipado/herramientas internas dirigidas a usuarios no técnicos que no pueden usar CLI.
    • El rendimiento de la UI nativa es bueno, pero aplicar estilos es más difícil que en una página web.
    • Pregunta si existe en Python algún componente GUI que ofrezca una apariencia atractiva con poco esfuerzo, como Flutter o SwiftUI.
  • Sugerencias de mejora para PySimpleGUI

    • Sugiere usar diccionarios que recuerden el orden de inserción en lugar de listas.
    • Según su experiencia con PyQt, resultó útil una forma de configurar propiedades/señales y anidar widgets al mismo tiempo.
    • Agradece a PySimpleGUI como una librería que ayuda a construir GUIs simples rápidamente.
  • Avances que se acercan a la facilidad de uso de VB6 o Delphi/Lazarus

    • Expresa expectativas sobre la necesidad de un constructor interactivo de GUI y cómo eso mejoraría la comodidad del desarrollo.
    • Tras experimentar problemas de compatibilidad entre WxPython y WxFormBuilder, valora positivamente los esfuerzos por resolverlos y a PySimpleGUI.
  • Problemas de empaquetado en el desarrollo de aplicaciones de escritorio en Python

    • Cuando hay muchas dependencias, existen problemas con las herramientas actuales para generar binarios distribuibles.
    • Menciona problemas de carga dinámica de módulos y archivos faltantes al usar PyInstaller o cx_freeze.
    • Plantea la necesidad de un método estandarizado para empaquetar programas independientes, como los jar de Java.
  • Preferencia por CustomTKinter

    • Prefiere el tema elegante y moderno de CustomTKinter y su compatibilidad con temas claro/oscuro según el sistema.
  • Opinión sobre el vacío dejado por el desarrollo rápido de aplicaciones de VB6

    • Le sorprende que no exista una herramienta que pueda llenar el vacío dejado por el poder del constructor GUI de arrastrar y soltar de VB6.
  • Consideración de agregar una GUI a herramientas con interfaz CLI

    • Reflexiona sobre la idea de añadir una GUI a una herramienta CLI para usuarios que no usan Linux de escritorio.
    • Tiene curiosidad por la experiencia de otras personas que hayan intentado esa conversión y por los desafíos esperables.
  • Experiencia de equipos no dedicados al software usando PySimpleGUI

    • Es útil para desarrollar UI rápidamente, pero a medida que aumenta la complejidad se vuelve difícil de mantener y navegar.
    • El estilo era deficiente, aunque podría ser adecuado para prototipos de corto plazo.