2010-11-17 1 views
8

Ich bin auf der Suche nach einer Python-GUI-Bibliothek, die ich Rendering/Zeichnung neu schreiben kann.Python GUI mit benutzerdefinierten Render/Zeichnung

Es muss grundlegenden Widgets (Schaltflächen, Kombinationsfelder, Listenfelder, Texteditoren, Schriftrollen), Layout-Management, Event-Handling

Die Sache unterstützt, die ich suche, ist meinen benutzerdefinierten Direct3D und OpenGL zu verwenden Renderer für alle Zeichnungen/Renderings der GUI.

bearbeiten vorgeschlagen von S.Lott: Ich muss diese GUI für einen 3D-Editor verwenden, da ich eine Menge Dinge von den GUI-Elementen in den 3D-Renderbereich ziehen und ablegen muss, wollte ich ein GUI-System verwenden das rendert mit Direct3D (preffered) oder OpenGL. Es muss auch gut aussehen. Es ist schwierig, dies mit GUI wie WPF zu erreichen, da WPF kein Handle hat. Außerdem muss es für den kommerziellen Gebrauch absolut frei sein.

edit: Ich möchte auch die Rendering-Kontext verwenden, die ich für den 3D-Teil in meiner Anwendung initialisiert

+1

Fragen Sie nach PyGTK? –

+0

@ S.Lott: Ich habe GTK und PyGTK betrachtet, aber es scheint ziemlich schwierig zu sein, den Render zu überschreiben. Plus die Tatsache, dass es viele Abhängigkeiten bringt. Ich war auf der Suche nach etwas Einfaches –

+0

"Es muss grundlegende Widgets unterstützen ... Layout-Management, Event-Handling" vs. "Ich war auf der Suche nach etwas Einfachem". Ich glaube nicht, dass du beides finden kannst. Bitte aktualisieren Sie Ihre Fragen mit genügend Informationen, damit wir herausfinden können, wonach Sie suchen. –

Antwort

2

Ich weiß nicht, woran arbeitest du, also vielleicht ist das nicht, was du suchst, aber: Hast du in Betracht gezogen, Blender + seine Game Engine?

Es unterstützt Python-Skripting und bietet einige APIs zum Erstellen von "Standard" -GUs, während Sie mit 3D-Modellen eine Menge coole Sachen machen können. Dies kann besonders nützlich sein, wenn Ihre Anwendung eine Menge 3D-Modelle manipuliert.

Dann können Sie es "kompilieren" (es baut nur das All-in-One-Paket mit allen Abhängigkeiten, in einer ähnlichen Weise wie was py2exe) für jede Plattform, die Sie benötigen.

0

Es gibt OpenGL Bindungen in Python, die Sie 3D-Rendering erhalten. Persönlich würde ich wxpython als Ihren 'gui' Manager verwenden und die Bindungen verwenden, um opengl für den Rest zu machen. Wx hat die notwendigen Demos (überprüfen Sie die Wxpython-Demos-Installation) und Informationen in ihren GLCanvas-Demos.

Ein anderer Beispielcode ist here auch.

+0

Ich würde auch gerne den Rendering-Kontext Ich initialisiert für den 3D-Teil in meiner Anwendung –

+0

Ich glaube, das OP ist auf der Suche nach einem Licht, nur Logik GUI (d. H. Ohne spezielle Rendering im Inneren). Ich habe einen gesehen und hatte einen Google, aber anscheinend ist es leider nicht mehr da. – Kos

1

Sie können Qt Scene Framework mit OpenGL-Rendering verwenden. Es gibt viele Beispiele auf der Nokia Website.

1

Das beste Python-GUI-Toolkit ist wxPython (auch bekannt als wxWidgets).

Dies nicht nur Meinung meiner ist, siehe auch: wxPython quotes

wxPython ist der beste und reifste Cross-Plattform-GUI-Toolkit, da eine Reihe von Einschränkungen. Der einzige Grund, wxPython ist nicht das Standard-Python GUI Toolkit ist, dass Tkinter war dort zuerst. - Guido van Rossum

Ich kann nicht sagen, wie einfach oder schwer es wäre, Ihren eigenen Renderer hinzuzufügen.

+0

Es ist nicht so schwer, einen eigenen Renderer hinzuzufügen. – vy32

0

Sie könnten nützlich finden.