plots - Python-GUI mit benutzerdefiniertem Rendering/Zeichnen



python plot legend (4)

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ützen

Die Sache, nach der ich suche, ist die Verwendung meines benutzerdefinierten Direct3D- und OpenGL-Renderers für das gesamte Zeichnen / Rendern der GUI.

Bearbeiten vorgeschlagen von S.Lott: Ich muss diese GUI für einen 3D-Editor verwenden, da ich viele Dinge von den GUI-Elementen in den 3D-Renderbereich ziehen und ablegen muss. Ich wollte ein GUI-System verwenden, das mit Direct3D rendert (bevorzugt) 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 den Rendering-Kontext verwenden, den ich für den 3D-Teil in meiner Anwendung initialisiert habe

https://src-bin.com


Answer #1

In Python gibt es OpenGL-Bindungen, mit denen Sie 3D-Rendering erhalten. Persönlich würde ich wxpython als Ihren 'gui'-Manager benutzen 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 auch hier .


Answer #2

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


Answer #3

Sie könnten PyClutter nützlich finden.


Answer #4

Ich weiß nicht, woran du arbeitest, also ist das vielleicht nicht das, wonach du suchst, aber: Hast du schon daran gedacht, Blender + seine Game Engine zu benutzen?

Es unterstützt Python-Scripting und bietet einige APIs, um auch "Standard" -GUs zu erstellen, während Sie mit 3D-Modellen viele coole Sachen machen können. Dies kann besonders nützlich sein, wenn Ihre Anwendung viele 3D-Modelle manipuliert.

Dann können Sie es "kompilieren" (es baut nur das All-in-One-Paket, das alle Abhängigkeiten enthält, ähnlich wie py2exe) für jede Plattform, die Sie benötigen.





directx