I think I did try something like what you mentioned, but I will give
it another go tomorrow.

On Mon, Sep 30, 2013 at 10:28 PM, Jose Fernandez de Castro
<pixelcowbo...@gmail.com> wrote:
> Sorry, I do have access to the source code, what I mean about the top
> level widget, is the actual Nuke window.
>
> On Mon, Sep 30, 2013 at 9:36 PM, Nathan Rusch <nathan_ru...@hotmail.com> 
> wrote:
>> Well, the only reason I ask if you have access to the source is because if
>> you do, you shouldn't have any trouble getting the top-level window or
>> widget... However, doing it that way means that any time someone closes a
>> tab with a docked GUI instance in it, your cleanup handler will be called,
>> which sounds like it isn't quite what you're after; QApplication.aboutToQuit
>> seems more appropriate.
>>
>> Are you already calling
>> `QtGui.qApp.aboutToQuit.connect(self.cleanupHandler)` or what have you in
>> your application's __init__ without success?
>>
>>
>> -Nathan
>>
>>
>> -----Original Message----- From: Jose Fernandez de Castro
>> Sent: Monday, September 30, 2013 9:21 PM
>>
>> To: Nuke Python discussion
>> Subject: Re: [Nuke-python] pyqt inside a python panel doesn't get close
>> signal
>>
>> 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 <nathan_ru...@hotmail.com>
>> 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 <nathan_ru...@hotmail.com>
>>> 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 <nathan_ru...@hotmail.com>
>>>> 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 <mhen...@laika.com> 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" <vbshoo...@gmail.com>
>>>>>> To: "Nuke Python discussion" <nuke-python@support.thefoundry.co.uk>
>>>>>> 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
>>>>>> 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
>>>>>>
>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> Jose Fernandez de Castro
>>>>> _______________________________________________
>>>>> 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
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> Jose Fernandez de Castro
>>>> _______________________________________________
>>>> 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
>>>
>>>
>>>
>>>
>>>
>>> --
>>> Jose Fernandez de Castro
>>> _______________________________________________
>>> 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
>>
>>
>>
>>
>> --
>> Jose Fernandez de Castro
>> _______________________________________________
>> 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
>
>
>
> --
> Jose Fernandez de Castro



-- 
Jose Fernandez de Castro
_______________________________________________
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

Reply via email to