<p>虽然在某些情况下,<code>getValue()</code>和<code>value()</code>是可互换的,但是对于字符串,您必须使用<code>value()</code>方法,对于数字使用<code>getValue()</code>方法。在</p>
<blockquote>
<p>In your case there are three methods available for accessing <code>Enumeration_Knob</code> values and one method for setting new ones:</p>
</blockquote>
<ul>
<li><p><strong><code>getValue()</code>给您带来一个数字</strong>(枚举所选对的索引)</p></li>
<li><p><strong><code>value()</code>会给您带来一个字符串</strong>(枚举所选对的名称)</p></li>
<li><p><strong><code>values()</code>为您提供所有字符串的列表</strong>(所有名称)</p></li>
<li><p><strong><code>setValue()</code>为旋钮设置一个新值</strong>(您可以在这里使用索引或名称)</p></li>
</ul>
<blockquote>
<p>You can use <code>getValue()</code> method for getting numeric properties like <code>scale</code> or <code>rotate</code>: </p>
</blockquote>
<pre><code>nuke.toNode('Transform1').knob('rotate').getValue()
nuke.toNode('Transform1')['rotate'].getValue()
nuke.selectedNode()['rotate'].getValue()
</code></pre>
<p>要打印所选节点的所有旋钮名称和相应值,请使用以下方法:</p>
^{pr2}$
<blockquote>
<p>For pulldown menus 3 main methods are used – <code>getValue()</code>, <code>value()</code> and <code>values()</code> as well as <code>setValue()</code> method:</p>
</blockquote>
<p><strong><em>getValue()</em></strong></p>
<pre><code>g = nuke.toNode('Transform1')['filter'].getValue()
print(g)
# getValue() method brings properties' index (because it's enumerator)
# If your filter="Notch" getValue() brings 7.0 – i.e. eight element
# Result: 7.0
</code></pre>
<p><strong><em>value()</em></strong></p>
<pre><code>v = nuke.toNode('Transform1')['filter'].value()
print(v)
# value() method brings a name of a chosen filter
# Result: Notch
</code></pre>
<p><strong><em>值()</em></strong></p>
<pre><code>vv = nuke.toNode('Merge1')['bbox'].values()
print(vv)
# values() method brings a list of all strings stored in enum
# Result: ['union', 'intersection', 'A', 'B']
</code></pre>
<p><strong><em>setValue()</em></strong></p>
<pre><code>s1 = nuke.toNode('Merge2')['operation'].setValue(0)
# setValue() method sets a new existing value in enum with index 0
# Result: atop
s2 = nuke.toNode('Merge3')['operation'].setValue("xor")
# setValue() method sets a new existing value in enum with name "xor"
# Result: xor
</code></pre>