Vorweg, ich bin absoluter Anfänger mit Qt. Habt also ein wenig Geduld mit mir ^^
Vielleicht kennen einige von euch die 3D Software Blender. Damit kann man 3D Grafiken anfertigen. https://www.blender.org/
Blender hat seine ganz eigene selbstgemachte UI Lösung. Die meiner Meinung nach viel besser sein könnte. Sie ist zu limitiert, zu schwer zu modifizieren, und alles andere als Intuitiv. Genau das will ich ändern. Dafür möchte ich Qt in Blender integrieren. Um eben diese Limits loszuwerden.
Das Problem ist, die Blender UI Lösung ist ein recht wilder Mix aus C, OpenGl und Python. Damit ich die Addons auch weiterhin verwenden kann müsste ich allerdings bei Python bleiben und die Code Struktur anbieten. Sonst klemme ich die Addons ab. Was ich nicht machen darf weil selbst so manch Core Funktionalität als Addon kommt. Also habe ich mal mit PyQt5 angefangen.
Allerdings sehe ich im Moment noch keine Möglichkeit wie ich damit überhaupt an die vitalen Teile rankommen soll. Ich werde zwar wohl an einem Punkt zumindest an die Funktionalität rankommen*, das habe ich schon bei anderen Entwicklern gesehen, die das mit einem floating Panel getan haben. Aber wie gesagt ist die derzeitige Blender UI eben ein Mix aus C, Python und OpenGL. Die UI besteht aus mehreren OpenGL Editoren und Subpaneln. Und ich habe keine Ahnung wie ich da PyQt integrieren soll. Über Floating Panels geht ja da nicht. Ich kann ja schlecht den User nach jedem Klick erst mal die UI Elemente sortieren lassen ^^
* Wie gesagt bin ich noch absoluter Anfänger. Ich arbeite mich im Moment durch einige PyQt5 Tutorials durch. Und bisher habe ich es geschafft PyQt5 mit Blender zu verknüpfen. Und es zeigt sich ein erster Panel. Der hat allerdings im Moment noch keine Verbindung zum Rest, ausser wenn man Close klickt. Was dann Blender schliesst. Und er ist Modal. Blender reagiert nicht mehr.
Um es kurz zu machen, ich weiss im Moment nicht wie es von hier aus weitergehen soll
Was wäre denn die sauberste Lösung um Qt/ PyQt in Blender integriert zu bekommen? Bin ich überhaupt auf der richtigen Spur mit PyQt5? Brauche ich vielleicht beides? Qt und PyQt? Ist es überhaupt möglich Qt in Blender zu integrieren ohne das Ding in grossen Teilen neu zu schreiben?
Wärt ihr so Nett mir da ein wenig auf die Sprünge zu helfen?