node = nuke.selectedNode()
# Find out where the "User Tab" is, this is the start of user knobs
user_knob_index = 35
user_knob = node.knob(user_knob_index)
user_knobs = node.allKnobs()[(user_knob_index + 1):]
# Clear out all the user knobs
for knob in user_knobs:
node.removeKnob(knob)
color_knobs = [i for i in user_knobs if 'color' in i.name()]
di_knobs = [i for i in user_knobs if 'di' in i.name()]
# Create new tab knobs
color_tab = nuke.Tab_Knob('color')
di_tab = nuke.Tab_Knob('di')
# Add the color tab and color knobs
node.addKnob(color_tab)
for knob in color_knobs:
node.addKnob(knob)
# Add the di tab and di knobs
node.addKnob(di_tab)
for knob in di_knobs:
node.addKnob(knob)
不确定这是否仍然相关,但提供一个答案,希望能帮助其他遇到这种情况的人。在
控制用户旋钮的顺序是真正保证它们在面板上正确显示的唯一方法。}文件中指定的顺序返回a节点的旋钮。您可以使用“User”选项卡旋钮作为用户旋钮开始位置的分隔符(不应尝试编辑非用户旋钮的顺序)。任何要添加到选项卡的节点都需要添加到选项卡旋钮之后。在
node.allKnobs()
将按照在{下面是一个以现有节点为例,将旋钮重新排序为选项卡:
相关问题 更多 >
编程相关推荐