Good idea, since using a global variable isn't the sexiest thing to do in my opinion ( but it sure works!)
Sent from my iPhone On Aug 29, 2011, at 8:17 PM, "[email protected]" <[email protected]> wrote: > Sorry for the late reply, just saw it. I was under the impression that > nuke.getPaneFor should return the pane, and from there you should be able to > access the object somehow, but you are right, it doesn't do it. I'll put in a > feature request I guess, sorry to have mislead you. > > > On Sun, Aug 28, 2011 at 10:55 AM, Ivan Busquets <[email protected]> > wrote: > Glad it helped, Hugo. > > That's what we're all here for :) > > > > On Sat, Aug 27, 2011 at 6:33 PM, Hugo Léveillé <[email protected]> wrote: > You rock > As usual, thanks > > > > On Sat, 27 Aug 2011 15:30 -0700, "Ivan Busquets" <[email protected]> > wrote: >> Not in front of Nuke right now, but I believe you should be able to do that >> within the __init__ method of your Widget subclass >> >> I.E. >> >> import nuke >> import PyQt4.QtCore as QtCore >> import PyQt4.QtGui as QtGui >> from nukescripts import panels >> >> class NukeTestWindow(QtGui.QWidget): >> def __init__(self, parent=None): >> >> global myPanel >> myPanel = self // or do your own logic here to check if a previous >> panel already existed, etc >> >> QtGui.QWidget.__init__(self, parent) >> self.setLayout( QtGui.QVBoxLayout() ) >> self.myLineEdit = QtGui.QLineEdit("Hello World") >> self.layout().addWidget( self.myLineEdit ) >> QtCore.QObject.connect(self. >> myLineEdit, >> QtCore.SIGNAL("returnPressed()"), self.lineEditCB) >> >> def lineEditCB(self): >> nuke.message("%s" % self.myLineEdit.text()) >> >> >> And then, after an instance of your panel already exists, you should be able >> to do: >> >> myPanel.myLineEdit.text() >> >> Keep in mind that, with the above, every new instance of NukeTestWindow >> would overwrite your global variable, so you might want to check if one >> exists (if you want to enforce that only one instance of your Panel should >> exist), or keep track of all the instances in a dictionary, for example. >> >> >> >> On Sat, Aug 27, 2011 at 12:46 PM, Hugo Léveillé <[email protected]> wrote: >> Sorry for last empty mail >> >> I tried various ways to assign the panel to a variable but I can't seem >> to have access to it. Using the previous exemple with the line edit, how >> would you do that ? I must be missing something obvious :) >> >> >> >> On Sat, 27 Aug 2011 10:34 -0700, "Ivan Busquets" >> >> <[email protected]> wrote: >> > Ah, I see. >> > >> > In that case I think I would do what pixelcowboy suggested (keeping a >> > global variable of your docked panel to access it later on). >> > >> > nuke.getPaneFor() will get you the dock the panel belongs to, but I'm >> > not sure you can get the panel object itself from there. >> > >> > However, if it's something that other nodes will need to query from, I >> > think it would probably be easier to use actual user knobs attached to >> > nuke.root(). Mainly because your docked panel won't get saved with the >> > nuke script. >> > >> > This may not be a problem for your application, but just saying in >> > case it makes things easier. >> > >> > Cheers, >> > Ivan >> > >> > On Sat, Aug 27, 2011 at 6:43 AM, Hugo Léveillé <[email protected]> >> > wrote: >> > > Hi Ivan >> > > >> > > No, doing action or getting knob panel value when playing inside the >> > > panel is no problem. >> > > >> > > Imagine that the panel is a custom preference panel. And that the line >> > > edit drive the default value of blur nodes. I need the querie the value >> > > of the line edit from outisde the panel. So to make it simple, once the >> > > panel is created/ docked, how would you access the line edit value in >> > > the script editor? >> > > >> > > Is it more clear? >> > > >> > > On Fri, 26 Aug 2011 23:53 -0700, "Ivan Busquets" >> > > <[email protected]> wrote: >> > >> Hi Hugo, >> > >> >> > >> You should look at the QLineEdit Class reference docs to find the >> > >> method that suits you best, but you could, for example, use the text() >> > >> method to get the text contents of your widget. >> > >> >> > >> http://doc.qt.nokia.com/latest/qlineedit.html#text-prop >> > >> >> > >> As for when/how to access that method, you'll probably want to use >> > >> signals/slots to choose when you want to trigger a certain action. >> > >> >> > >> Quick example: >> > >> >> > >> import nuke >> > >> import PyQt4.QtCore as QtCore >> > >> import PyQt4.QtGui as QtGui >> > >> from nukescripts import panels >> > >> >> > >> class NukeTestWindow(QtGui.QWidget): >> > >> def __init__(self, parent=None): >> > >> QtGui.QWidget.__init__(self, parent) >> > >> self.setLayout( QtGui.QVBoxLayout() ) >> > >> self.myLineEdit = QtGui.QLineEdit("Hello World") >> > >> self.layout().addWidget( self.myLineEdit ) >> > >> QtCore.QObject.connect(self.myLineEdit, >> > >> QtCore.SIGNAL("returnPressed()"), self.lineEditCB) >> > >> >> > >> def lineEditCB(self): >> > >> nuke.message("%s" % self.myLineEdit.text()) >> > >> >> > >> >> > >> Is that where you were after? >> > >> >> > >> Cheers, >> > >> Ivan >> > >> >> > >> >> > >> On Fri, Aug 26, 2011 at 12:51 PM, Hugo Léveillé <[email protected]> >> > >> wrote: >> > >> > Hey >> > >> > >> > >> > Just started using docked pyqt panel inside nuke. Quick question. >> > >> > >> > >> > Let say I make this very simple panel with a single line edit >> > >> > >> > >> > ===== >> > >> > >> > >> > import nuke >> > >> > import PyQt4.QtCore as QtCore >> > >> > import PyQt4.QtGui as QtGui >> > >> > from nukescripts import panels >> > >> > >> > >> > class NukeTestWindow(QtGui.QWidget): >> > >> > def __init__(self, parent=None): >> > >> > QtGui.QWidget.__init__(self, parent) >> > >> > self.setLayout( QtGui.QVBoxLayout() ) >> > >> > self.myLineEdit = QtGui.QLineEdit("Hello World") >> > >> > self.layout().addWidget( self.myLineEdit ) >> > >> > >> > >> > >> > >> > >> > >> > panels.registerWidgetAsPanel('NukeTestWindow', 'Test table panel', >> > >> > 'uk.co.thefoundry.NukeTestWindow' ) >> > >> > >> > >> > >> > >> > =========== >> > >> > >> > >> > Once the panel is created, how can I have access to the value of the >> > >> > line edit ? The goal would be to make some action inside nuke based on >> > >> > the current value of a knob inside that panel >> > >> > >> > >> > Thanks >> > >> > >> > >> > >> > >> > -- >> > >> > Hugo Léveillé >> > >> > TD Compositing, Vision Globale >> > >> > [email protected] >> > >> > >> > >> > _______________________________________________ >> > >> > Nuke-python mailing list >> > >> > [email protected], http://forums.thefoundry.co.uk/ >> > >> > http://support.thefoundry.co.uk/cgi-bin/mailman/listinfo/nuke-python >> > >> > >> > >> _______________________________________________ >> > >> Nuke-python mailing list >> > >> [email protected], http://forums.thefoundry.co.uk/ >> > >> http://support.thefoundry.co.uk/cgi-bin/mailman/listinfo/nuke-python >> > >> >> > > >> > > >> > > -- >> > > Hugo Léveillé >> > > TD Compositing, Vision Globale >> > > [email protected] >> > > >> > > _______________________________________________ >> > > Nuke-python mailing list >> > > [email protected], http://forums.thefoundry.co.uk/ >> > > http://support.thefoundry.co.uk/cgi-bin/mailman/listinfo/nuke-python >> > > >> > _______________________________________________ >> > Nuke-python mailing list >> > [email protected], http://forums.thefoundry.co.uk/ >> > http://support.thefoundry.co.uk/cgi-bin/mailman/listinfo/nuke-python >> > >> >> >> -- >> Hugo Léveillé >> TD Compositing, Vision Globale >> [email protected] >> >> _______________________________________________ >> Nuke-python mailing list >> [email protected], http://forums.thefoundry.co.uk/ >> http://support.thefoundry.co.uk/cgi-bin/mailman/listinfo/nuke-python >> >> _______________________________________________ >> Nuke-python mailing list >> [email protected], http://forums.thefoundry.co.uk/ >> http://support.thefoundry.co.uk/cgi-bin/mailman/listinfo/nuke-python >> > > > -- > Hugo Léveillé > TD Compositing, Vision Globale > [email protected] > > _______________________________________________ > Nuke-python mailing list > [email protected], http://forums.thefoundry.co.uk/ > http://support.thefoundry.co.uk/cgi-bin/mailman/listinfo/nuke-python > > > > _______________________________________________ > Nuke-python mailing list > [email protected], http://forums.thefoundry.co.uk/ > http://support.thefoundry.co.uk/cgi-bin/mailman/listinfo/nuke-python > > > _______________________________________________ > Nuke-python mailing list > [email protected], http://forums.thefoundry.co.uk/ > http://support.thefoundry.co.uk/cgi-bin/mailman/listinfo/nuke-python
_______________________________________________ Nuke-python mailing list [email protected], http://forums.thefoundry.co.uk/ http://support.thefoundry.co.uk/cgi-bin/mailman/listinfo/nuke-python
