1

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

我查看了 Nuke Python API,但我不确定如何将其返回到适当的函数定义来回答我的问题。我的思路是,这与被 ChannelMask_Knob 类覆盖的init函数有关,但根据 API 的参数列表只是“...”,我认为这意味着它与内置函数有关。由于我看不到init函数的主体,我不知道该参数的用途,因此我的问题......

这是我的问题的一个例子:

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

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

4

1 回答 1

0

您必须故意为方法中的参数留一个空格ChannelMask_Knob('')。它不起作用。但是对于分配 aname和 alabel您需要分别使用.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')
于 2017-11-20T13:02:48.817 回答