スポンサーリンク

Blender Python スクリプトでエラーが発生したときにGUIのメッセージを表示する

特にアドオン化したときは、コンソールにメッセージが出るのはユーザーフレンドリーではない。

以下のようにメッセージボックス表示関数を作れる。

見るからにポップアップウィンドウ表示用関数を使った方法なので、応用が利きそうではある。

import bpy

# @brief GUIでメッセージを表示する
# @param [in] message メッセージ本文
# @param [in] tilte メッセージボックスのタイトル
# @param [in] icon 使用するアイコン
def ShowMessageBox(message = "", title = "Message Box", icon = 'INFO'):

    def draw(self, context):
        self.layout.label(text=message)

    bpy.context.window_manager.popup_menu(draw, title = title, icon = icon)
################################
# 使用例

obj = bpy.context.active_object

if not obj.type == 'MESH':
    # メッシュが選択されていなかったらエラーを表示
    ShowMessageBox("object is not a mesh") 

実行するとマウスの位置にメッセージボックスが表示される。

アイコンについて

アイコンは、以下に使用できる一覧があるが、メッセージボックスとして使うのはせいぜい'NONE', 'QUESTION', 'ERROR', 'CANCEL','INFO'くらいだと思う。

https://docs.blender.org/api/current/bpy.types.WindowManager.html#bpy.types.WindowManager.popmenu_begin__internal

参考

基本的に以下そのまま。

https://blender.stackexchange.com/questions/109711/how-to-popup-simple-message-box-from-python-console

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

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


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