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 <[email protected]> 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 <[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
> _______________________________________________
> 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