Хотя в некоторых случаях оба метода getValue()
и value()
являются взаимозаменяемыми, вы должны использовать value()
метод для строк и getValue()
метод для чисел.
В вашем случае естьДоступны три метода для доступа к Enumeration_Knob
значениям и один метод для установки новых:
getValue()
приносит вам число (индексвыбранная пара enum)
value()
приносит вам строку (имя выбранной пары enum)
values()
приносит вам список всех строк (все имена)
setValue()
устанавливает новое значение для ручки (выздесь можно использовать индекс или имя)
Вы можете использовать метод getValue()
для получения числовых свойств, таких как scale
или rotate
:
nuke.toNode('Transform1').knob('rotate').getValue()
nuke.toNode('Transform1')['rotate'].getValue()
nuke.selectedNode()['rotate'].getValue()
Чтобы напечатать все имена регуляторов и соответствующие значения выбранного узла, используйте этот метод:
print(nuke.selectedNode())
Для выпадающих меню используются 3 основных метода - getValue()
, value()
and values()
, а также setValue()
метод:
getValue ()
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
значение ()
v = nuke.toNode('Transform1')['filter'].value()
print(v)
# value() method brings a name of a chosen filter
# Result: Notch
значения ()
vv = nuke.toNode('Merge1')['bbox'].values()
print(vv)
# values() method brings a list of all strings stored in enum
# Result: ['union', 'intersection', 'A', 'B']
setValue()
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