Collapse/open Group of Knobs

This code example creates an on knobChanged callback on a node that toggles a group of knobs open or closed based on a checkbox on the same node. In this case the group is a collection of user knobs on the properties pane of the node, not to be confused with a group of nodes.

This is based on knowledge that I learned from Ben McEwan that I took and tweaked a little to make it work with the group knob.

I have created a NoOp node called ‘NoOp1’ and in that node I have a group called ‘controls’ and a checkbox called ‘hide’. I’d include a copy of the node but I’m using Nuke Non-commercial so I can’t export nodes.

You can run this code from the script editor in Nuke to assign it to a node called ‘NoOp1’.

#code to collapse/open a group of knobs called 'controls' based on a check box called 'hide' on the same node

nuke.toNode('NoOp1').knob('knobChanged').setValue('''

check = nuke.thisNode().knob("hide").value()
controls = nuke.thisNode().knob('controls')
if check:
    controls.setValue(False)
else:
    controls.setValue(True)

''')