【问题标题】:bpy.ops.sequencer.view_all() poll failsbpy.ops.sequencer.view_all() 轮询失败
【发布时间】:2023-02-07 05:43:49
【问题描述】:

我寻求帮助是因为我真的不知道我必须为此做什么。我脑子里乱撞了 2 天,我不得不承认我就是不明白......

我需要一个脚本来将音序器中的视图设置为 bpy.ops.sequencer.view_all() (或类似的:bpy.ops.sequencer.view_selected())

为此,我需要覆盖上下文并告诉脚本它必须在音序器区域运行该命令,否则它将给出:

Python: Traceback (most recent call last):
  File "\Text", line 4, in <module>
  File "F:\MEDIA\GAMES\Steam\steamapps\common\Blender\3.4\scripts\modules\bpy\ops.py", line 113, in __call__
    ret = _op_call(self.idname_py(), None, kw)
RuntimeError: Operator bpy.ops.sequencer.view_all.poll() failed, context is incorrect

..当然只是设置:

bpy.context.area.ui_type = 'SEQUENCE_EDITOR'

..什么也没做 但是我又完全不知道该怎么做,任何帮助都会非常感谢..

【问题讨论】:

    标签: python blender bpy


    【解决方案1】:

    这是正确的上下文覆盖:

    import bpy
    
    # go through all areas until sequence editor is found
    for area in bpy.context.screen.areas:
        if area.type == "SEQUENCE_EDITOR":
            override = bpy.context.copy()
            # change context to the sequencer
            override["area"] = area
            override["region"] = area.regions[-1]
            # run the command with the correct context
            with bpy.context.temp_override(**override):
                bpy.ops.sequencer.view_all()
            break
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-10-18
      • 1970-01-01
      • 2019-05-21
      • 1970-01-01
      相关资源
      最近更新 更多