How to delete a QObject derived class from within one of its own methods
Article Metadata
Compatibility
Platform(s): All
Article
Keywords: Qt, deleteLater
Created: (20 Jun 2010)
Last edited: jimgilmour1
(21 Jun 2010)
In order to delete a QObject-derived class from one of its own methods, developers have to use
deleteLater();
Since this is a public slot, it can be connected to a signal or it can be just called in any method of the class.
There are no problem if a signal or a method calls more than one time QObject::deleteLater()
Beginner developers sometimes use
delete this;
and this is dangerous since the Qt event loop could invoke a method of the deleted class. Hence, the application or library will crash.
- Related Qt Documentation link
Qt 4.6 deleteLater()

