Hello,

Some of you may know the open source 3d software Blender. https://www.blender.org/

It has its own unique homebrew UI solution. It is imho not a really nice UI solution. Too limited, too hard to modify, and everything but intuitive. And so i want to change it.

What i want to achieve is to integrate Qt in the one or another way to overcome the limitation of the homebrew Blender UI solution. The problem is, the Blender UI itself is made in a mixture of C and Python. Additionally, all Blender addons relies at the Python code. So i have to stay with Python and the proper structure, or i kill all addons. Which is a problem since even some core functionality comes as an addon.

But PyQt does not give me the needed access to the vital parts from what i can see so far. I may be able to access the functionality*, i have seen some other folks doing this with a floating PyQt panel. But the Blender UI is divided into several OpenGl Editors and subpanels. And i have no idea how to integrate PyQt into this single editors. Floating is definitely no option here. I cannot bother the users to sort the UI elements by hand ^^

* I personally am still an absolute beginner with Qt, but willing to learn. I go through some PyQt5 tutorials at the moment. I was so far able to connect PyQt5 with Blender. A Qt panel is showing. But it has no connection to the rest yet, besides, when you click close then you close Blender too. And it is modal, and makes Blender unresponsible.

In short, i am lost how to proceed from here

What would be the proper way to integrate Qt/PyQt into Blender? Am i even at the right track with PyQt5? Do i need both, Qt and PyQt? Is a proper Qt integration even possible without to rewrite Blender in big parts?

Questions over questions. Could you be so kind to bring an absolute beginner at the right track?