[Interest] QObject.destroyed() not working?!

Frank Rueter | OHUfx frank at ohufx.com
Mon Mar 27 22:33:12 CEST 2017


Thanks Alexandru,

I will try it the way you suggest.

Cheers,
frank

On 27/03/17 9:59 PM, Alexandru Croitor wrote:
> Hi,
>
> I'm going to assume this is with PyQt.
>
> Aside from what Thiago already mentioned, you could try to connect a method declared outside of the class scope.
> So something like:
>
> def myDestructor(obj):
>    pass
>
> class MyClass(object):
>    def __init__(self):
>    self.destroyed.connect(myDestructor)
>
> Also do take into account that a Python object's destructor aka __del__ method might not be executed if the object is part of a cycle, due to the garbage collector not knowing the order in which destructors should be called.
> I believe starting with Python 3.4, finalizers are always called.
>
>
>> On 27 Mar 2017, at 03:52, Frank Rueter | OHUfx <frank at ohufx.com> wrote:
>>
>> Hi,
>>
>> I'm pretty sure I'm misinterpreting how this should work so maybe you guys can help:
>>
>> I have a QObject which I would like to run a simple clean up job just before it's destroyed.
>> I thought I could simply do this in it's constructor:
>>     self.destroyed.connect(self.__cleanUp)
>>
>> Then have self.__cleanUp() to the work.
>> However, a simple print statement inside self.__cleanUp() shows that it's never run.
>>
>> What am I missing?
>>
>> Thanks,
>> frank
>>
>> _______________________________________________
>> Interest mailing list
>> Interest at qt-project.org
>> http://lists.qt-project.org/mailman/listinfo/interest




More information about the Interest mailing list