Thank you Frank, I was starting from a function and putting it into a class and that's where I got stuck. I need to keep on reading about this.
Thanks for the feedback! -- Bruno-Pierre Jobin > On Aug 12, 2016, at 11:25 PM, Frank Rueter|OHUfx <fr...@ohufx.com> wrote: > > There are a few things wrong with your code snippet. Below is a working > version. > The main two things that seemed off are: > your custom panel class correctly inherits from nukescripts.PythonPanel but > then creates a new panel inside it's constructor again which is odd. > you never called the super class's constructor which is responsible for all > sorts of things, including hooking up callbacks internally. If you don't do > that, you effectively overwrite the way the python panel is meant to be > initiated and you are definitely in for unexpected results > Cheers, > frank > > class ShapePanel(nukescripts.PythonPanel): > def __init__(self, title="ELEMENT"): > super(ShapePanel, self).__init__(title) # call > nukescripts.PythonPanel.__init__() to make sure your derived class is created > properly > IDs = ['12345','56789','09876'] > self.d = nuke.Enumeration_Knob('Element', 'Element : ', IDs) > self.addKnob(self.d) > self.myID = self.d.value() > def knobChanged(self, knob): > if knob is self.d: > print knob.name() > p = ShapePanel() > p.showModalDialog() > > >> On 13/08/16 2:34 AM, Bruno-Pierre Jobin wrote: >> Can anyone tell me why the knobChanged function won't print the knob name >> when it's changed? >> >> I came across this thread that basically asks the same question but I can't >> wrap my head around it. >> https://www.mail-archive.com/nuke-python@support.thefoundry.co.uk/msg03270.html >> >> >> class ShapePanel(nukescripts.PythonPanel): >> def __init__(self): >> IDs = ['12345','56789','09876'] >> self.p = nukescripts.PythonPanel("ELEMENT") >> self.d = nuke.Enumeration_Knob('Element', 'Element : ', IDs) >> self.p.addKnob(self.d) >> self.ret = self.p.showModalDialog() >> self.myID = self.d.value() >> def knobChanged(self, knob): >> if knob is self.d: >> print knob['name'] >> ShapePanel() >> Thank you >> >> -- >> Bruno-Pierre Jobin >> >> >> _______________________________________________ >> Nuke-python mailing list >> Nuke-python@support.thefoundry.co.uk, http://forums.thefoundry.co.uk/ >> http://support.thefoundry.co.uk/cgi-bin/mailman/listinfo/nuke-python > > _______________________________________________ > Nuke-python mailing list > Nuke-python@support.thefoundry.co.uk, http://forums.thefoundry.co.uk/ > http://support.thefoundry.co.uk/cgi-bin/mailman/listinfo/nuke-python
_______________________________________________ Nuke-python mailing list Nuke-python@support.thefoundry.co.uk, http://forums.thefoundry.co.uk/ http://support.thefoundry.co.uk/cgi-bin/mailman/listinfo/nuke-python