2010-09-21 6 views
7

La última vez que vi, las GUI en Python eran extremadamente feas, ¿cómo están hoy?¿Cómo se desarrolla Python GUI hoy (Sep/2010)?

(vi algunas imágenes bonitas de imágenes de Google, pero no sé si son realmente Python)

+2

Es feo si usa Tk. Pero no tienes que usar Tk. – kennytm

+0

@KennyTM: Puedo hacer buenas GUIs con Tkinter: el problema tiene más que ver con la habilidad del programador que con el kit de herramientas IMO. –

+2

Las GUI decentes en Tk son posibles, pero mucho más trabajo que p. Ej. en PyQt/PySide. Los widgets Qt se ven muy bien listos, en todas las plataformas principales. – delnan

Respuesta

7

Python 2.7 y 3.0 se envía con el tk temática ("TTK") de widgets que se ven mucho mejor que las versiones anteriores de los conocimientos tradicionales (aunque, honestamente, cualquier desarrollador de GUI competente puede hacer que incluso Tk más viejo se vea bien). No deje que las personas que no saben mucho sobre Tk le impidan usarlo, sigue siendo un conjunto de herramientas muy viable para muchas, muchas tareas. No se creará un clon de Photoshop con él, pero ¿cuántas personas escriben ese tipo de aplicaciones de todos modos?

He estado usando wxPython durante el año pasado y todavía elegiría Tkinter para la mayoría de las tareas. Tkinter es mucho más simple y, en muchos aspectos, más poderoso. La única ventaja que tiene wxWidgets es que tiene más widgets integrados, pero me parece que muchos de ellos tienen errores y son difíciles de usar. Para la mayoría de las aplicaciones que escribirá la mayoría de las personas, Tkinter sigue siendo una excelente opción.

Algunas capturas de pantalla de widgets temáticos están disponibles aquí:

http://code.google.com/p/python-ttk/wiki/Screenshots

Aquí hay una captura de pantalla de una aplicación Tkinter que utiliza los widgets de temáticas en el Mac:

http://www.codebykevin.com/phynchronicity-running.png

1

Python tiene fijaciones para Tk, Qt, GTK, wx, y muchos más. No hay razón por la cual debería ser más feo que otro idioma. Probablemente estés pensando en una GUI hecha con Tk, que tiene la reputación de ser fea. No es específico de Python, pero podría ser más común porque es muy simple y viene con Python por defecto.

Consulte Gui Programming en la wiki de python para obtener más información.

+0

+1 para copiar en Tk :) – Randolpho

+0

-1 para copiar en Tk. Las versiones modernas de tk se ven bastante bien, y usan widgets nativos siempre que sea posible. El meme "tk is feo" no es tan relevante hoy como lo era hace 5 años. –

+0

@Bryan Oakley: ¿Mejor? No lo he usado personalmente, solo cosas hechas en él que son invariablemente horribles. No me di cuenta de que había mejorado – Daenyth

2

Tk is sill es el kit de herramientas GUI predeterminado para Python, pero tiene un soporte de tema de Python 2.7/3.1. No es tan feo como antes.

Sin embargo, puede utilizar algunas alternativas agradables, que todavía se ven mejor (en mi humilde opinión) y tienen más funcionalidades:

  • wxPython: tal vez el, multiplataforma más utilizado y todo, sus aplicaciones tendrán el mismo aspecto como nativo .
  • PyQt o pronto PySide: enlaces para el marco de código abierto Nokia Qt. Hay más que solo un juego de herramientas GUI.
  • PyGTK: fijaciones para los + librerías GTK

Aquí hay más información: http://wiki.python.org/moin/GuiProgramming

+1

"Tk todavía se ve feo" es muy subjetivo. ¿Conoce el soporte de widgets temáticos en las versiones modernas de Tk? –

+0

Lo siento, no era. Acabo de ver en otra respuesta. La versión enviada con mi Python 2.6 no la tenía. Tienes que usar Python 2.7 o 3.1 para tener soporte de tema. Edité mi respuesta. –

1

Creo que la La última versión de Tkinter ofrece un aspecto nativo para Macos. WxPython y QT ofrecen un aspecto nativo para macos, windows y linux. GTK es un poco feo y propenso a fallas en mac por la implementación de X11 allí.

supuesto, usted podría construir su propia interfaz gráfica de usuario, que algo que estoy tratando de hacer con pygame.Let Aclaro, no estoy haciendo una biblioteca de interfaz gráfica de usuario GUI para simplemente mi propia aplicación. Estoy haciendo los gráficos en la aplicación 3d Blender.

Mi voto por la GUI genérica va a wxPython, lo probé, se ve muy bien, es fácil de usar y funciona como un encanto en todas las plataformas.También encontrarás toneladas de información al respecto. Se integra bien con OpenGL, por lo que si quieres hacer guisados ​​extremos sobre él, puede hacerlo.

+1

Hasta donde yo sé, las últimas versiones de Gtk ya no requieren X11 en Mac OS X, sino que usan los widgets nativos de Cocoa. – lunaryorn

+0

hmm parece que estás en lo correcto, ha habido muchas actualizaciones desde la última vez que lo verifiqué. Gracias por traer esto a mi atención, creo que voy a darle otra oportunidad a pyGTK. – Kilon

+1

Tkinter también ofrece ventanas nativas para Windows. Lo ha hecho por muchos años. –

Cuestiones relacionadas