2011-12-19 11 views
5

TL; DR: ¿Existe una biblioteca para la creación declarativa de IU con GTK? Preferiblemente con soporte de Python.Declarativo GTK


Soy un desarrollador de Python/Django, la mayor parte de mi experiencia acerca de las interfaces de usuario es desde la web, en su caso, diseños de interfaz de usuario débilmente acoplados declarativas son estándar. Recientemente tuve que crear una aplicación GUI usando Java/Swing para un proyecto escolar y terminé usando SwiXML para crear diseños declarativos de Swing para el proyecto.

Me pregunté si hay posibilidades similares de usar para Python. No me gusta mucho Java, así que no comenzaré a desarrollar aplicaciones Swing. Cuando busqué los Toolkits de GUI de Python, terminé concluyendo que los tres jugadores principales en este campo son GTK, QT y Wx.

De esos 3 preferiría GTK, pero no pude encontrar ninguna forma de crear una interfaz de usuario declarativa con GTK. Según mi experiencia con HTML y SwiXML, creo que la creación de UI basada en código es un gran desastre y preferiría no tener que hacerlo de esa manera. La interfaz de usuario declarativa es mucho más flexible y está más acoplada.

¿Existe una biblioteca para la creación declarativa de IU con GTK? Preferiblemente con soporte de Python.

Si no existe tal cosa (que supongo, ya que no pude encontrar nada), podría terminar empezando con QT, aunque no me gusta su aspecto predeterminado en Linux . (Pero tal vez eso también se puede personalizar, de modo que se parece a GTK).

+1

http://www.clutter-project.org/ – kechapito

+0

Hace algún tiempo, Qt comenzó a imitar correctamente los temas de GTK en Linux, también. Por lo tanto, ya no existe un "aspecto predeterminado". Además, hay [Qt Quick] (https://qt.nokia.com/qtquick/) para las UI declarativas de Qt. (agregando esto como un comentario porque la pregunta fue específicamente dirigida a GTK). –

+0

@marcushatchenson wow, esto se ve bastante limpio! –

Respuesta

12

Creo que lo que estás buscando es gtk.Builder. Básicamente, los objetos gtk.Builder se pueden usar para cargar un archivo .ui que contiene datos xml que describen los widgets para la interfaz de usuario y las devoluciones de llamadas a los eventos que el código debe exponer. El archivo .ui se puede crear con glade, por lo que ni siquiera necesita escribir el xml usted mismo.

+0

Gracias, parece útil. Glade parece ser muy amable. –

+1

Aquí hay un tutorial, pensó que estaba un poco desactualizado: http://www.micahcarrick.com/gtk-glade-tutorial-part-1.html –

0

Mire enaml. Aunque no hay ningún kit de herramientas GTK, es el único marco realmente declarativo para python del que soy consciente.