[PyQt] causes self to be owned by Qt instead of PyQt ???

Phil Thompson phil at riverbankcomputing.com
Thu Apr 2 11:04:59 BST 2015


On 02/04/2015 6:05 am, redstone-cold wrote:
>>> 2)In the doc of sip.setdestroyonexit(destroy) says, "Calling this
>>> function with a value of False disables the automatic destruction of
>>> C++ instances and C structures(owned by Python)." ,then which is
>>> responsible for destroying these C++ instances and C structures? the
>>> dtor of them ?
>> 
>> Nothing destroys them, the dtors never get called.
>> 
>> 1)Then on application existing ,who destroys them ?
> 
> 
> As I said - nothing, the dtors never get called.
> 
> 
> 
> 
> 1)Does this mean these C++ instances and C structures still exist in
> memory even when application existed ?
> ----------------------------------------------------------------------------------------------------------------------------------

No - you need to read a basic introduction to operating systems book.

>> 3)Can you explain why Python has stopped working in this issue ?
>> http://www.riverbankcomputing.com/pipermail/pyqt/2015-March/035730.html
> 
> 
> No.
> 
> 
>> Any way to solve the problem ?
>> if we solve the problem via sip.setdestroyonexit(False),  then I
>> tested on Windows that the system tray icon doesn't disappear right 
>> away as
>> application exists .
>> 
> 
> 
> 2)Is this a bug with PyQt ?
> ----------------------------------------------------------------------------------------------------------------------------------

No.

>> 4)bug report : QFileSystemModel.parent() doesn't exist ,but it should
>> have one according to the Qt doc.
> 
> 
> It does exist.
> 
> 
> 3)Have you tested it ? I tested in PyQt4 that
> QFileSystemModel.parent() doesn't work .
> ----------------------------------------------------------------------------------------------------------------------------------

"Doesn't work" is very different to "doesn't exist". If you think there 
is a bug then post a simple, complete example demonstrating the problem.

Phil


More information about the PyQt mailing list