【问题标题】:Create an error Dialog in Blender在 Blender 中创建一个错误对话框
【发布时间】:2014-11-01 21:18:59
【问题描述】:
【问题讨论】:
标签:
python
dialog
popup
blender
【解决方案1】:
Blender 使用运算符来执行操作或任务,在此示例中,MessageOperator 是一个 bpy.types.Operator 子类,负责显示对话框。当调用invoke() 时,它会显示对话框,其中wm.invoke_popup() 传递self 作为运算符,这将设置它的绘制函数来处理在对话框中显示内容。
稍后在scanFile 中,MessageOperator 被创建并调用
bpy.ops.error.message('INVOKE_DEFAULT',
type = "Error",
message = 'Found "return" on line %d' % n)
bpy.ops.error.message 由 bpy.ops 作为所有运算符的容器构造,然后是 error.message,bl_idname 在运算符类中定义。传递的两个命名值存储在type 和message 的类属性中,并在显示对话框时使用。
bpy.utils.register_class() 调用用于在 Blender 的数据结构中注册这些新定义的类,以便它们可以使用。
Blender 的使用约定不像大多数 GUI 应用程序那样使用弹出对话框。使用运算符report() function 向用户传递通知或错误消息更为常见。这会在徽标旁边的搅拌机标题中显示一条消息。