В дополнение к предыдущему ответу:
1 Как уже упоминалось, если родительский элемент не равен NULL, ваш виджет будет отображаться только внутри родительского виджета.
2 Если родительский виджет удален, все его дочерние виджеты также будут удалены оператором удаления.
Правильная реализация конструктора виджета по умолчанию должна быть следующей:
class MyWidget: public QWidget {
Q_OBJECT
public:
explicit MyWidget(QWidget *parent = 0);
}
MyWidget::MyWidget(QWidget *parent = 0): QWidget(parent) {
// Your own initialization code
}
Старайтесь не указывать ненулевой родитель для стекового виджета. Вам лучше всегда создавать вложенный виджет так:
QWidget *parentWidget;
MyWidget myWidget = new MyWidget(parentWidget);
Вы можете прочитать больше здесь:
http://doc.trolltech.com/4.6/objecttrees.html