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

В 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 Комментарий
Новые
Старые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии