Размещение блока выбора изображений на панели пользователя

В Blender блок кнопок, отвечающий за выбор изображения в Image Editor, размещается по умолчанию в хедере рабочей области. При необходимости его можно так же разместить и в пользовательской панели.

Поместить блок выбора изображений в панель пользователя мы можем при помощи функции template_ID объекта bpy.types.UILayout, который отвечает за отрисовку компонентов интерфейса в Blender.

В параметрах функции нужно передать указатель на блок данных рабочей области – “context.space_data” и указать название свойства, для изображений в Image Editor, это будет “image”. Дополнительно можно передать указатель на функцию для открытия нового изображения – “image.open”.

Поместим вызов этой функции в функцию draw в класс, определяющий панель пользователя в Image Editor.

После того, как мы зарегистрируем наш класс в Blender Python API

В панели пользователя “Sample Panel” в Image Editor мы получим дубликат блока кнопок для выбора текущего изображения.

Если вместо выбора текущего изображения, нам нужно сделать отдельный список изображений и выбирать из него какое-нибудь альтернативное изображение, например, для сравнения с текущим, мы можем сделать для него отдельный блок кнопок с помощью все той же функции template_ID.

Для начала определим кастомное свойство, содержащее ссылку на изображение:

Теперь мы можем обращаться к нему через:

Для того, чтобы сделать для него блок выбора в панели пользователя, в функции template_ID в параметрах нужно указать ссылку на блок данных – “context.window_manager”, и на свойство – “image”.

Поместим вызов этой функции в наш класс пользовательской панели:

После регистрации класса в Blender Python API блок кнопок для выбора кастомного изображения будет размещен в панели пользователя в Image Editor.

0 0 голоса
Article Rating
Подписаться
Уведомить о
guest
0 Комментарий
Межтекстовые Отзывы
Посмотреть все комментарии