Bonito IDE con GUI designer para wxPython o Tkinter [cerrado]


Tengo un poco de experiencia desarrollando pequeñas aplicaciones de línea de comandos con Python. Quiero pasar a desarrollar GUI con Python. De los kits de herramientas GUI disponibles para Python, los que me siento más inclinado son wxPython y Tkinter ; pero no quiero codificar toda la GUI por mí mismo todo el tiempo.

¿Hay algún IDE GUI bueno para cualquiera de estos conjuntos de herramientas? No necesita ser libre o de código abierto.

Author: nbro, 2009-04-29

8 answers

Solo hablaré sobre wxPython porque es el único kit de herramientas con el que tengo experiencia. TkInter es bueno para escribir programas pequeños (entonces no requiere un diseñador de GUI), pero no es realmente apropiado para el desarrollo de aplicaciones grandes.

  • WxFormBuilder es realmente bueno: genera .XRC archivos que necesita cargar en su programa, y puede generar .py archivos al subclasificarlos cuando los usa.

  • DialogBlocks y wxDesigner son dos software comercial que pueden generar código Python directamente. No los probé mucho debido a su precio.

  • wxGlade no es (creo) todavía lo suficientemente maduro para programas grandes, pero vale la pena intentarlo.

Después de probar todo esto, me di cuenta de que tenían todos los defectos y que nada es mejor que escribir la GUI en un editor. El problema es la curva de aprendizaje extendida. Pero entonces usted será mucho más rápido y su código será ser mucho más flexible que cuando se utiliza un diseñador de GUI.

Echa un vistazo a esta lista de aplicaciones principales escrita con wxPython. Probablemente verá que ninguno de estos utiliza un diseñador de GUI, debe haber una razón para esto.

Entonces entiendes que gs tiene razón al decir que o cambias a PyQt o escribes tu solicitud a mano. Eché un vistazo a Qt Designer en el pasado y pensé que esto era lo que necesitaba. Desafortunadamente PyQt tiene alguna licencia restricción.

 31
Author: Mapad,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-05-06 00:26:02

Esto puede no responder a su pregunta directamente, pero elegí PyQt porque no había buenos diseñadores de interfaz de usuario para wxPython.

Aparentemente escribes tus GUI a mano o cambias a PyQt.

Debido a que Nokia y Riverbankcomputing no pudieron ponerse de acuerdo sobre una solución LGPL, Nokia decidió construir sus propios enlaces: PySide.

 15
Author: Georg Schölly,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-05-06 00:29:26

Boa Constructor tiene un constructor de GUI wxPython.

 5
Author: Anonymous,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2009-04-29 19:48:34

Uso xrced (viene con wxPython). La GUI está definida en archivos xml, tienes un archivo python autogenerado que automatiza alguna inicialización, luego subclases esas clases autogeneradas y haces el resto de la inicialización a mano. Me parece que esta es una buena manera de combinar la elegancia del código GUI escrito a mano con la facilidad de generación de código GUI.

Para el código que uso WingIDE , es útil tener un buen depurador y una buena finalización del código fuente cuando se trata de grandes a las bibliotecas (o frameworks si se quiere) les gusta wxPython.

Si quieres más automatización (y por lo tanto, código más feo) prueba la última versión de Boa , hay algunos screencasts introductorios para ello en ShowMeDo.com

 4
Author: Toni Ruža,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2009-04-29 06:52:14

Intenta VisualWx. Creo que el diseñador de GUI es muy bueno; sin embargo, el IDE es bastante rudimentario (sin finalización de código, depuración, etc.). Mi patrón de trabajo es tener VisualWx y un buen editor como Komodo Edit / Netbeans / etc. abra al mismo tiempo y cambie entre ellos según sea necesario.

 1
Author: Brandon,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2009-04-29 19:39:42

Uso Eclipse con PyDev como mi IDE de Python (que probablemente no sea la mejor solución, pero es bastante decente)

Para el desarrollo de GUI, he utilizado wxGlade para un proyecto de tamaño medio y me pareció bastante fácil de usar uno que ha captado los conceptos de wxPython. La generación XML es muy útil para separar el diseño de GUI real de la lógica del programa.

Todos estos son gratis.

 1
Author: Jacob Wang,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-07-19 07:27:39

He utilizado wxGlade para algunas aplicaciones de misión crítica. Si eres un poco débil en wx, puede ser difícil, pero una vez que te acostumbras, es una gran herramienta.

 0
Author: Alex,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2009-04-29 06:51:16

No es realmente un IDE de GUI, pero le permite definir GUI Tkinter en un archivo JSON: https://github.com/tmetsch/pytkgen

 0
Author: Andre,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2011-05-27 12:19:52