2009-03-23 8 views
3

Meine nächste Arbeit wird sich stark auf die Arbeit mit Daten konzentrieren, die am besten verstanden werden, wenn sie auf einer zweidimensionalen zoombaren Ebene oder Leinwand organisiert sind, anstatt Listen und Eigenschaftsformulare zu verwenden.Gibt es eine Python-Bibliothek zum einfachen Schreiben zoombarer Benutzeroberflächen?

Die Bibliothek kann auf OpenGL, GTK + oder Cairo basieren. Es sollte mir erlauben:

  • Build-Widgets aus Vektor-Formen und Text (vielleicht sogar SVG basiert?)
  • ordnen diese Widgets auf einer 2D-Ebene
  • fangen Widget-bezogene Ereignisse
  • Zoom tief zusätzliche Daten in ein Widget
  • ordnen Widgets in einem Baum
  • belebtes Widgets
  • offenbaren in Fluid

Es würde nicht schaden, wenn es auch einige Datenbindung oder Modell/View-Konzept erlauben würde.

+0

Bitte geben Sie hier einige Ergebnisse, vielleicht ein kleines Beispiel Skript auf Pastebin, sobald Sie irgendwelche Fortschritte haben! Wir würden uns sehr gerne Ihre Ergebnisse anschauen! – heltonbiker

Antwort

2

Ich denke Clutter für Sie perfekt.

Von der Website:

Clutter ist eine Open-Source-Software Bibliothek für die schnellen, visuell reich und animierten grafischen Benutzer Schnittstellen zu schaffen.

Clutter ist in C geschrieben, aber es hat große Python bindings.

Ein sehr ähnliches Projekt ist Pigment:

Pigment eine Graph Bibliothek entwickelt, um einfach zu schaffen reiche Anwendung Benutzeroberflächen 3D-Szene ist.

+0

Arbeitete vorher mit Unordnung, und hatte ein paar Probleme mit der Stabilität, aber ich denke, dass es keinen Weg gibt. Wirf auch einen Blick auf Pigment. – paniq

3

Qt hat diese abgedeckt ... überprüfen PyQt

+0

Ich möchte GTK + verwenden, da es sich auf Ubuntu, der primären Zielplattform, nativ anfühlt. – paniq

+0

Qt hat jetzt (für eine Weile) einen QGtkStyle, der es sogar auf Gnome wie in anderen Window-Managern vollständig nativ aussehen lässt. Siehe: http://labs.trolltech.com/blogs/2008/05/13/introducing-qgtkstyle/ – ChristopheD

+0

Danke für den Hinweis, QGtkStyle löst ein anderes Problem von mir. Aber jetzt, wo ich mir PyQt angeschaut habe, bin ich ernstlich aufgeschreckt. Natürlich hat die Bibliothek alles, aber ich denke, dass benutzerdefinierte Typen, C++ - Signaturen und Signalhandler mit Typinfos zu komisch sind, um berücksichtigt zu werden. Ich bleibe bei dem, was ich weiß;) – paniq