2024-04-28 09:37:33 发布
网友
我正在为blender 2.8x编写一个导入插件,我想利用多文件选择功能。 不幸的是,我在“ImportHelper”(我从中派生的类)中找不到对此的任何规定,web搜索也没有产生任何似乎有效的内容,我在文档中也找不到任何内容
事实证明,要实现这一点,您需要做几件事,文档中还没有涉及到这一点
首先,它有助于了解基类“ImportHelper”在导入脚本中使用时的作用。初始化时,脚本调用“context.window\u manager.fileselect\u add(self)”,这会向类中添加几个对象。 源代码中的这个字符串泄露了它:
"The string properties 'filepath', 'filename', 'directory' and a 'files' " "collection are assigned when present in the operator"
“files”对象是我们需要的对象,但只有在类中也存在正确的属性时,它才会出现,例如:
files: CollectionProperty( type=bpy.types.OperatorFileListElement, options={'HIDDEN', 'SKIP_SAVE'}, )
然后,如果存在,您可以在类的“execute”方法中访问它,以迭代选择中的所有文件:
for meshfile in self.files: filepath = meshfile.name print(filepath)
此外,请记住包含正确的属性,我将这些属性包含在我的导入器中:
from bpy.props import ( BoolProperty, CollectionProperty, StringProperty, )
事实证明,要实现这一点,您需要做几件事,文档中还没有涉及到这一点
首先,它有助于了解基类“ImportHelper”在导入脚本中使用时的作用。初始化时,脚本调用“context.window\u manager.fileselect\u add(self)”,这会向类中添加几个对象。 源代码中的这个字符串泄露了它:
“files”对象是我们需要的对象,但只有在类中也存在正确的属性时,它才会出现,例如:
然后,如果存在,您可以在类的“execute”方法中访问它,以迭代选择中的所有文件:
此外,请记住包含正确的属性,我将这些属性包含在我的导入器中:
相关问题 更多 >
编程相关推荐