2010-03-10 19 views
6

Estoy leyendo este tutorial que me está ayudando a aprender tkinter y wxWidgets de forma paralela, pero quiero profundizar, por lo que me gustaría saber qué herramienta de la GUI es mejor para aprender en profundidad y por qué?Pros y contras de tkinter y wxWidgets?

+0

Nunca utilicé tkinter pero utilicé wxWidgets para escribir una sencilla GUI de comunicaciones de terminal que funcionaba tanto en Microsoft Windows como en Linux/GTK; estaba muy contento con el resultado. –

Respuesta

14

Es imposible decir cuál es "mejor". Cualquiera de los dos puede usarse para la mayoría de las tareas comunes de la interfaz de usuario.

Si pudiera resumir de algún modo en una oración, estaría tentado de decir que Tkinter está mejor diseñado y es un poco más fácil de usar, pero wxPython es más rico en funciones y se ve un poco mejor.

tkinter pros: parte de python, nada más que descargar. Sintaxis muy simple. El widget de texto es notablemente poderoso y muy fácil de usar. El widget canvas es también muy fácil y poderoso. Ningún otro kit de herramientas ofrece la misma combinación de facilidad y potencia que esos dos widgets en mi experiencia. Utiliza widgets nativos en Mac y Windows. Tk es sólido como una roca con pocas idiosincrasias multiplataforma. Creo que el mecanismo de enlace de Tkinter es muy superior al de wxPython; es más flexible y consistente. Creo que los tres gerentes de geometría de Tkinter (paquete, lugar y cuadrícula) son mucho más poderosos y fáciles de usar que los analizadores wxPython.

tkinter contras: Utiliza widgets parecidos a motivos en las cajas * nix que muchos encuentran desagradables (aunque algunos ajustes cuidadosos pueden hacer que las GUI se vean perfectamente aceptables). A veces es difícil de depurar porque los widgets de Tkinter en su núcleo no son objetos Python; tkinter proporciona un envoltorio alrededor de los widgets tk reales que a veces significa que recibes mensajes de error extraños. Hay muy poco soporte de impresión (puede generar documentos postscript del lienzo, pero no hay soporte integrado en el widget de texto para imprimir). Algunas personas dicen que Tk es feo. Tkinter no es tan "pitónico" como wxPython.

wxpython pros: Tiene muchos más widgets, aunque a menudo eso significa que hay tres tipos de widgets de portátiles en lugar de uno de cocina. Los wxPython widgets son objetos python de primera clase, lo que es realmente agradable. wxPython generalmente se ve mejor en las máquinas * nix. wxPython parece ser más popular; algunas personas se preocupan por eso, otras no. wxPython tiene soporte de impresión mucho mejor que Tkinter.

wxPython contra: wxPython requiere una descarga por separado que puede ser difícil de administrar al implementar su aplicación. La documentación es muy débil en mi opinión; es muy difícil encontrar información específica. El libro "wPython in Action" ofrece una buena introducción pero no se puede usar como libro de referencia. wxPython tiene un error de OMI, y hay problemas definidos de plataforma cruzada. He visto wxPython bloquearse e imprimir afirmaciones mucho más a menudo que Tkinter.

+0

¡Hola, experto de Bryan the Python! Por favor, eche un vistazo a http://stackoverflow.com/questions/23022005/python-tkinter-tree-selection –

1

Si eres nuevo y buscas elegir uno, recomiendo tkinter por su simplicidad y efectividad. wxPython puede esperar hasta tener una muy buena comprensión de python, particularmente clases y GUI en general.