スポンサーリンク

Blender Python アドオンのパネルにエディットボックスを追加

テキストフィールドを追加するときはpropを使用する。

import bpy

class myCInputs(bpy.types.PropertyGroup):
    # テキストボックスを定義
    myTextField: bpy.props.StringProperty(
        name="タイトル",
        description="説明文",
        default="",
        maxlen=1024, # 最大文字数
        subtype="NONE"
    )
    # subtype:
    #   ['FILE_PATH', 'DIR_PATH', 
    #    'FILE_NAME', 'BYTE_STRING',
    #    'PASSWORD', 'NONE']

class myCTool_PT_panel(bpy.types.Panel):
    bl_label = "パネルタイトル"
    bl_category = "タブタイトル"
    bl_space_type = "VIEW_3D"
    bl_region_type = "UI"

    def draw(self, context):
        layout = self.layout

        #横に並べるならrow.propを使う
        # row = layout.row()

        layout.prop(context.scene.myinputs, "myTextField")

classes = (
    myCInputs,
    myCTool_PT_panel
)


def register():
    for cls in classes:
        bpy.utils.register_class(cls)

    # bpy.types.Scene.myinputs変数を作成し、テキストボックスを代入 
    bpy.types.Scene.myinputs = bpy.props.PointerProperty(type=myCInputs)


def unregister():
    for cls in classes:
        bpy.utils.unregister_class(cls)
    del bpy.types.Scene.myinputs

if __name__ == "__main__":
    register()

コメントを残す

メールアドレスが公開されることはありません。

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)


この記事のトラックバックURL: