There is a lack of clarity in where to use Blender menu, panel or the operator. I am familiar with inheritance in Qt where QDialog, QWidget, QMessageBox, QMainWindow are used as required. As a matter of fact ncurses library and wx also has similar inheritance pattern. I know there is no relation between Blender and Qt, or wx or ncurses but I was trying to learn from the Blender Python documents and information is very sparse. Is there any secret manual available somewhere? Also I'm not keeping any other library as a template to compare against Blender types, I'm just new to the whole of Blender.

  • $\begingroup$ To be honest, I do not understand the purpose of this question. Why don't you just use them where you need them? $\endgroup$ – Martynas Žiemys May 1 at 6:00
  • $\begingroup$ I could have framed the question better if I did understand the topic as well as you do. Sorry for the noob jargon. My problem is I want to know about creating native ui elements by inheriting the bpy.types.<menu, panels or operators>. I am confused where to use what. $\endgroup$ – Aviik May 1 at 6:12
  • 1
    $\begingroup$ The templates are in the Text Editor's Templates menu, by the way. A panel is an area in the UI, a menu is ... well, a menu, and an operator is sort of a function/feature of Blender that performs some action so they are very different and I am a bit confused, what exactly might not be clear about when to use them... Use a panel, when you need a piece of UI, a menu where you need a list of some operators to pop up, and operators where you need some actions/operations performed... $\endgroup$ – Martynas Žiemys May 1 at 6:28
  • 1
    $\begingroup$ Also well covered here docs.blender.org/api/current/info_quickstart.html $\endgroup$ – batFINGER May 1 at 6:40