如何在blender中创建一个对话框(三个选项,如退出/确定/取消)并处理通过python或C输入的文本。我无法找到任何有关此的好教程。任何帮助....?
答案 0 :(得分:1)
快速而肮脏的方法是使用zenity命令(默认情况下应该包含在任何python发行版中)。试试这个简短的示例脚本,它可以在我的Blender 2.69 Ubuntu 14.04上运行。
import bpy # bpy or bge does not matter
import subprocess as SP
# call an OS subprocess $ zenity --entry --text "some text"
# (this will ask OS to open a window with the dialog)
res=SP.Popen(['zenity','--entry','--text',
'please write some text'], stdout=SP.PIPE)
# get the user input string back
usertext=str(res.communicate()[0][:-1])
# adjust user input string
text=usertext[2:-1]
print("I got this text from the user: %s"%text)
有关更复杂的对话框,请参阅zenity --help
答案 1 :(得分:0)
blender不提供对话等内容。
外部模块上This previous question的答案可能会有所帮助。
答案 2 :(得分:0)
class DialogOperator(bpy.types.Operator)
bl_idname = "object.dialog_operator"
bl_label = "Save Before You QUIT!"
def execute(self, context):
message = " You didn't saved yet "
self.report({'INFO'}, message)
print(message)
return {'FINISHED'}
def invoke(self, context, event):
return context.window_manager.invoke_props_dialog(self)
class DialogPanel(bpy.types.Panel)
bl_label = "Dialog"
bl_space_type = "VIEW_3D"
bl_region_type = "UI"
def draw(self, context):
self.layout.operator("object.dialog_operator")
但这仅适用于创建对话框窗口。之后必须在此代码中插入按钮。如果有人知道这个尝试发布答案。与此同时,我也试图解决这个问题。