Diseñador de GUI bueno y fácil

He estado programando durante un tiempo y ahora trabajo en una empresa que no tiene programadores. Entonces, haga lo que haga, no puede ser una herramienta de línea de comandos o un archivo por lotes. Por lo tanto, me gustaría saber si hay diseñadores de GUI fáciles, pero bonitos, con los que pueda producir software e incrustar mi código/datos.

Mi idioma favorito sería python. Pero si hay otros que vale la pena aprender, siéntete libre de sugerirlos.

Me gustaría escuchar sugerencias tanto para Ubuntu como para Windows. En cuanto a la complejidad, no solo me gustarían los cuadros y botones combinados/de texto habituales, sino que también me gustaría poder mostrar tablas y gráficos (que podrían o no ser imágenes que genero usando python o lo que sea) ¡gracias!

¿Para qué sistema operativo? ¿Y podría incluir más detalles? Como el nivel de complejidad de su ventana GUI. ¿Es suficiente que contenga cuadros de texto, cuadros combinados y botones, o se necesitan otros elementos más complejos? Lea estas preguntas frecuentes sobre lo que se requiere para que una pregunta contenga suficiente información

Respuestas (3)

Recomiendo encarecidamente Python con PyQt. PyQt puede aprovechar Qt Designer, que es una herramienta de creación de interfaz de usuario decente. Es cierto que comprender la programación de PyQt (también conocido como PySide) y la integración con los datos de la interfaz de usuario de Qt Designer para desarrollar aplicaciones completas y sólidas no es fácil porque es profundo y los recursos tardan en encontrar (pero están disponibles... especialmente en StackOverflow ). Ha sido extremadamente gratificante y los resultados son tan poderosos como la mayoría de los programas de C++. De hecho, un ojo experimentado no puede distinguir un programa Python/PyQt compilado de cualquier otra aplicación de Windows. Compilo mis aplicaciones Python/PyQt en exe usando PyInstaller. PyInstaller también le permitirá incrustar archivos de datos como sqlite o imágenes y cualquier otra cosa que necesite. Puede crear aplicaciones independientes o aplicaciones instalables.

El único inconveniente importante es que me ha llevado varios años de arduo trabajo y experiencia comprender todas las capas necesarias para producir herramientas poderosas para la oficina donde trabajo (estoy en una situación similar a la tuya). Si entiende la programación Python y OOP, esa es la mitad de la batalla. Solo he necesitado desarrollar para Windows (no para Linux ni OSX todavía), pero confío en que el 98 % de las cosas de Python/PyQt se transferirán a esas plataformas.

En su mayoría, he creado utilidades para mi empresa con una interfaz de usuario amigable que generalmente se conecta a una base de datos MySQL dentro de la oficina. Algunos programas también aprovechan matplotlib para gráficos circulares y gráficos de trazado dentro de un widget de PyQt.

Con un poco más de detalles, podría proporcionar más información en esta área.

Python ya tiene un conjunto de herramientas GUI estándar, Tkinter . Es antiguo pero sigue siendo popular, y no debería tener problemas para aprenderlo ya que ya está familiarizado con Python.

Es gratuito y se ejecuta en distribuciones de Windows y Linux.

Tkinter tiene todos los elementos básicos de la GUI. Aquí hay una referencia .

TkTable también le permite incrustar tablas similares a hojas de cálculo en Tkinter. Además, esta pregunta y respuesta también trata sobre la incrustación de gráficos usando matplotlib

¿Es arrastrar y soltar?
@PedroBraz Para eso necesitarás otra extensión Tkdnd

Si está casado con la idea de Python, deséchelo. Pero, dado que solo dice: "Mi lenguaje favorito sería Python", voy a seguir adelante y recomendar a Lazarus .

Lazarus se inició como un código abierto, multiplataforma, clon de Delphi de Borland , lo que significa que su lenguaje de codificación es Pascal orientado a objetos.

La gran ventaja para usted de Lazarus es que es un IDE de desarrollo rápido de aplicaciones en el que puede simplemente arrastrar y soltar componentes en un formulario, moverlos hasta que esté satisfecho y luego hacer clic en los componentes para agregar el código asociado.

Además, hay cientos (si no miles) de componentes gratuitos que ofrecen funciones más allá del cuadro de lista estándar, el cuadro de edición, el botón de opción, etc.

Personalmente, encuentro que, aunque codifico Python, prefiero buscar a Lazarus cuando tengo una aplicación con una GUI rica y mis tiempos de desarrollo son muy rápidos.

A What You See Is What You Get (WYSIWYG) visual windows layout designer
An extensive set of GUI widgets or visual components such as edit boxes, buttons, dialogs, menus, etc.
An extensive set of non-visual components for common behaviors such as persistence of application settings
A set of data-connectivity components for MySQL, PostgresSQL, FireBird, Oracle, SQLite, Sybase, and others
Data-aware widget set that allows the developer to see data in visual components in the designer to assist with development
Interactive code debugger
Code completion
Code templates
Syntax highlighting
Context-sensitive help
Text resource manager for internationalization
Automatic code formatting
The ability to create custom components

Si debe tener Python, busque en Google. Recuerdo una herramienta que analizaría get_optlas opciones de su aplicación Python y generaría automáticamente una GUI a partir de ellas, pero no espere que sea bonita.