Further to @Christian-Ehrlicher, in other words that means you need to delete the statement Hello* obj = new Hello;! Your calling code will go new Hello, and that will execute your constructor and return the created instance, you don't want another new Hello anywhere inside your Hello class as it stands.
Unfortunately, no. To make use of the parent-child mechanism your object must derive from QObject at least. Search through the forum for "QObject" and "RAII", Here is a thread where I've put some effort in explaining the QObject ownership. Back to your question:
class Object : public QObject
Object(QWidget * parent = 0)
Will do what you want, i.e. delete the Object when the parent is destroyed. Then you indeed create your object like this: