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

Reply via email to