Sie können Qt Szene Framework verwenden mit OpenGL-Rendering. Es gibt viele Beispiele auf Nokia Website.
Ich suche nach einer Python-GUI-Bibliothek, die ich das Rendering / Zeichnen neu schreiben kann.
Es muss grundlegende Widgets (Schaltflächen, Kombinationsfelder, Listenfelder, Texteditoren, Scrolls,), Layoutverwaltung, Ereignisbehandlung
unterstützenDie Sache, die ich suche, ist die Verwendung meines benutzerdefinierten Direct3D- und OpenGL-Renderers für das gesamte Zeichnen / Rendern der GUI.
edit 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 (bevorzugt) oder OpenGL. Es muss auch gut aussehen. Es ist schwierig, dies mit GUI wie WPF zu erreichen, da WPF kein Handle hat. Auch muss es für kommerzielle Zwecke absolut frei sein.
edit: Ich möchte auch den Rendering-Kontext verwenden, den ich für den 3D-Teil in meiner Anwendung initialisiert habe
Ich weiß nicht, woran du arbeitest, also ist das vielleicht nicht das was du suchst, aber: Hast du darüber nachgedacht, Blender + seine Game Engine zu benutzen?
Es unterstützt Python-Scripting und stellt einige APIs bereit, um auch "Standard" -GUs zu erstellen, während Sie mit 3D-Modellen viele coole Sachen machen können. Dies könnte besonders nützlich sein, wenn Ihre Anwendung viele 3D-Modelle manipuliert ..
Dann können Sie es "kompilieren" (es erstellt nur das All-in-One-Paket, das alle Abhängigkeiten enthält, ähnlich wie py2exe) für jede Plattform, die Sie brauchen.
Das beste Python-GUI-Toolkit ist wxPython (auch bekannt als wxWidgets).
Dies ist nicht nur meine Meinung, siehe auch: wxPython-Zitate
wxPython ist das beste und reifste plattformübergreifendes GUI-Toolkit, gegeben a Anzahl der Einschränkungen. Der einzige Grund wxPython ist nicht die Standard-Python-GUI Toolkit ist, dass Tkinter da war zuerst. - Guido van Rossum
Ich kann nicht sagen, wie einfach oder schwer es wäre, einen eigenen Renderer hinzuzufügen.
In Python gibt es OpenGL-Bindungen, die Ihnen 3D-Rendering ermöglichen. Persönlich würde ich wxpython als Ihren 'gui' Manager benutzen und die Bindungen benutzen, 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 hier .
Tags und Links python user-interface opengl directx