なつねこメモ

主にプログラミング関連のメモ帳 ♪(✿╹ヮ╹)ノ 書いてあるコードは自己責任でご自由にどうぞ。記事本文の無断転載は禁止です。

Blender アドオンで、チェックボックスにチェックを入れたタイミングで、任意の処理を走らせたい

こういう動作をするのは Blender 的には、 UX 的にはあまり良くないのかもしれないですが、トグルボタンってある意味分かりにくいし......ということで、
Checkbox / ToggleBox にチェックを入れたタイミングで何らかの処理をする方法について。

これは、 Property を定義するときに、 update コールバックを指定することで実現可能です。

import bpy

from bpy.props import BoolProperty
from bpy.types import PropertyGroup

class SomeProperties(PropertyGroup):
    def callback(self, context):
        print("Hello, World")

    is_listening: BoolProperty(name = "Toggle", default=False, update=callback, options={"HIDDEN"})

この場合、 is_listening の状態が変わったタイミングで、 callback メソッドが呼ばれます。
あとは、メソッドの内部で値をチェックして、 True / False のタイミングで処理を呼んであげれば OK です。

ということで、メモでした。