To display an icon next to a property, text label, or on the operator button in the UI, we need to specify its identifier in the “icon” or “icon_value” parameter. But not all types of icons have their identifiers known in advance. For example, we cannot predefine the icon’s identifiers for procedural textures and materials because they are generated at runtime.
To get the identifier of such a dynamic icon, we can use the “icon” method of the “UILayout” class.
The Eclipse IDE, like PyCharm, and Visual Studio Code, is one of the most popular IDEs for development, including Blender add-ons development. To improve the convenience of developing Blender add-ons in the Eclipse IDE, we can add an autocomplete to it – the code completion for the Blender Python API.
By the Pavel Geraskin tips.
The easiest way to split the user interface into several visual groups is to registers several separate panels in the Blender Python API and merge them by setting the same “bl_category” parameter. In this case, we get some arranged vertically panels, which can be independently collapsed and expanded.