It's a pretty big application with lots of calls to in house house API's, so I can't post it as is, I'll see if I can simplify it to something that makes sense. Just out or curiosity though, do you have an example on how you are connecting those signals? Didn't save the code that I tested, but was basically getting the triggers for both signals 'destroyed' and 'aboutToQuit' when running the application standalone in a terminal, but not as a panel inside of nuke.
On Mon, Sep 30, 2013 at 8:35 PM, Nathan Rusch <[email protected]> wrote: > Sorry, I overlooked your last response. I'm confused though... do you not > have the source code to this application/GUI tool? > > > -Nathan > > > -----Original Message----- From: Jose Fernandez de Castro > Sent: Wednesday, September 18, 2013 6:15 PM > > To: Nuke Python discussion > Subject: Re: [Nuke-python] pyqt inside a python panel doesn't get close > signal > > Can't seem to get this to work, I've tried connecting both the > 'destroyed' and 'aboutToQuit' signal and they do work outside of nuke, > but not when running inside. How are you getting the 'top level' > widget? > > On Wed, Sep 18, 2013 at 10:46 AM, Nathan Rusch <[email protected]> > wrote: >> >> OK, so the only real problem at this point is cleaning up when Nuke quits. >> In that case, I would first try refactoring your cleanup code out of the >> closeEvent method and connecting it to one of: >> >> - The .destroyed signal of your UI's top-level widget (this will do >> double-duty by also handling the case where a user closes the pane without >> closing Nuke). >> - QCoreApplication.aboutToQuit >> >> If you used the latter, you would also obviously want to call the cleanup >> method from your closeEvent as well to handle cases where the panel is >> closed but Nuke is left open. >> >> >> >> -Nathan >> >> >> -----Original Message----- From: Jose Fernandez de Castro >> Sent: Tuesday, September 17, 2013 11:41 PM >> >> To: Nuke Python discussion >> Subject: Re: [Nuke-python] pyqt inside a python panel doesn't get close >> signal >> >> I have a closeEvent, which basically clears shared memory keys. The >> shared memory keys are there to coordinate action between multiple >> instances of the pyqt dialog/application running standalone or >> embedded in other nuke sessions. Inside of nuke, it is running only as >> a docked QWidget panel, and I want the cleanup to run on each closing >> of nuke. However, the closeEvent does not seem to run upon just >> closing the nuke session. I might end up implementing it with an >> OnScriptClose callback if all else fails, but I just wanted to know if >> there is a better way... >> >> On Tue, Sep 17, 2013 at 11:03 PM, Nathan Rusch <[email protected]> >> wrote: >>> >>> >>> I don't recall seeing this thread around, but unless I'm overlooking >>> something, this shouldn't be a particularly hard problem to solve. >>> >>> What are you actually connecting to your cleanup handler slot? And when >>> are >>> you expecting the application to be cleaned up? When a dockable panel is >>> destroyed? When the user clicks a certain button? Is this a problem in >>> both >>> modal and non-modal panel instances? The more information you can >>> provide, >>> the better. >>> >>> -Nathan >>> >>> >>> -----Original Message----- From: Jose Fernandez de Castro >>> Sent: Tuesday, September 17, 2013 8:26 PM >>> To: Nuke Python discussion >>> Subject: Re: [Nuke-python] pyqt inside a python panel doesn't get close >>> signal >>> >>> >>> Having this exact same problem at the moment, has anyone found any >>> other solution? >>> >>> On Wed, Jan 18, 2012 at 1:31 PM, Micah Henrie <[email protected]> wrote: >>>> >>>> >>>> >>>> I ended up creating a OnScriptClose callback to kill threads/save >>>> settings >>>> etc but it would be nice if the close signal was sent by nuke when it >>>> shut >>>> down. >>>> >>>> micah >>>> >>>> ________________________________ >>>> From: "Dennis Martin" <[email protected]> >>>> To: "Nuke Python discussion" <[email protected]> >>>> Sent: Wednesday, January 18, 2012 1:02:02 PM >>>> Subject: [Nuke-python] pyqt inside a python panel doesn't get close >>>> signal >>>> >>>> >>>> I have a large pyqt program that is multi-threaded that I am trying to >>>> run >>>> as a python panel. On closing this program, all the threads it created >>>> need >>>> to be killed. I handle this in the standalone version with: >>>> self.connect(self, SIGNAL('triggered()'), self.closeEvent) >>>> >>>> Where closeEvent simply kills all my threads. >>>> >>>> This works fine when I run the program standalone or launched from a >>>> menu >>>> inside Nuke. The problem is when I make this into a python panel the >>>> pyqt >>>> instance no longer gets any signals when the panel is closed. >>>> >>>> I have used registerWidgetAsPanel to load the program as a panel: >>>> nukescripts.registerWidgetAsPanel('eep_assetBrowser.MyWindow', 'Asset >>>> Browser', 'com.eep.testWindow',create = True) >>>> >>>> So the question is how can I get the python panel to send a signal to >>>> the >>>> pyqt instance when it is closed? >>>> >>>> >>>> -- >>>> Dennis A Martin >>>> >>>> _______________________________________________ >>>> 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 >>>> >>> >>> >>> >>> -- >>> Jose Fernandez de Castro >>> _______________________________________________ >>> 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 >> >> >> >> >> >> -- >> Jose Fernandez de Castro >> _______________________________________________ >> 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 > > > > > -- > Jose Fernandez de Castro > _______________________________________________ > 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 -- Jose Fernandez de Castro _______________________________________________ Nuke-python mailing list [email protected], http://forums.thefoundry.co.uk/ http://support.thefoundry.co.uk/cgi-bin/mailman/listinfo/nuke-python
