Nah, I skip the docs. In general, unless someone has been exceedingly diligent about generating some nice Sphinx documentation, I find it easier to just read the code and do some live inspection. Handily enough, pretty much everything in nukescripts is pure Python.
-Nathan From: Fredrik Averpil Sent: Monday, October 07, 2013 3:10 AM To: Nuke Python discussion Subject: Re: [Nuke-python] How to access UI elements from panel? Many thanks Nathan. That was exactly what I was looking for. I'm just wondering... I was looking through the API docs, but I had a hard time finding anything that could lead me up to calling the customKnob (although I now find it when doing a search on that website). Where do you go to look up stuff like this? Are you using the API documentation? Regards, Fredrik On Mon, Oct 7, 2013 at 5:05 AM, Nathan Rusch <nathan_ru...@hotmail.com> wrote: `registerWidgetAsPanel()` returns a PythonPanel instance when create=True (its `.addToPane()` method also returns a reference to itself), and the panel has a PyCustom_Knob stored in an attribute called `customKnob`. The PyCustom_Knob class then has a `.getObject()` method, which returns a simple holder for the actual Qt object instance (stored in a `widget` attribute). So, to get from the registered panel to the Qt object, use: panel = panels.registerWidgetAsPanel(name, title, identifier, create=True).addToPane(pane) gui = panel.customKnob.getObject().widget -Nathan From: Fredrik Averpil Sent: Sunday, October 06, 2013 4:48 AM To: Nuke Python discussion Subject: [Nuke-python] How to access UI elements from panel? Hi, I am having issues with accessing UI elements when having created a panel in a script which creates both regular windows and panels. I need to access the UI elements, from both windows and panels, like this: gui.listWidget.addItem('hello') ...and that works perfectly fine if I create a regular floating window (dockedWindow = False), but I can't make it to work when I create panels (dockedWindow = True). Any ideas? class HelloWorld(form, base): def __init__(self, parent=None): super(HelloWorld, self).__init__(parent) # ... def run(): dockedWindow = True if dockedWindow: pane = nuke.getPaneFor('Properties.1') global gui gui = panels.registerWidgetAsPanel( moduleName + 'HelloWorld' , windowTitle, ('uk.co.thefoundry.'+windowObject+'Window'), True).addToPane(pane) else: global gui gui = HelloWorld() gui.show() Regards, Fredrik ------------------------------------------------------------------------------ _______________________________________________ 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
_______________________________________________ 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