2017-10-13 51 views
1

我想弄清楚nuke.ChannelMask_Knob()函数所需的字符串参数对应的是什么。在其他一些旋钮构造函数中,第一个参数似乎是名称/标签,但ChannelMask_Knob似乎并不是这种情况...Nuke ChannelMask_Knob需要参数

我已经看过Nuke Python API,但我不确定如何请按照相应的功能定义回答我的问题。我的思路是,这与init函数有关,该函数被ChannelMask_Knob类覆盖,但根据API的参数列表只是“...”,我相信这意味着它必须与内置函数功能。既然不能看到初始化功能的身体,我不知道这样的说法是用于,因此我的问题......

这里是我的问题的例子:

test_knob = nuke.ChannelMask_Knob("required_argument") 
node.addKnob(test_knob) 

这工作得很好,但我想知道“required_argument”用于什么,因为它显然不是旋钮的名称或标签。

回答

0

您必须在ChannelMask_Knob('')方法中故意留出参数的空白处。它不起作用。但是,要分配namelabel,您需要分别使用.setName('name').setLabel('label')方法。它工作正常。

下面是一个代码:

import nuke 

noop = nuke.nodes.NoOp() 
### maskKnob = nuke.ChannelMask_Knob('name', 'label', False) 
maskKnob = nuke.ChannelMask_Knob('') 
maskKnob.setName('name') 
maskKnob.setLabel('label') 
noop.addKnob(maskKnob) 

对于该下拉菜单中最好是使用下面的方法信道的选择:

nuke.selectedNode().knob('name').setValue('alpha') 
nuke.selectedNode().knob('name').setValue('disparity')