Доброго времени суток!
Имею к примеру приложение, в котором при каких-то условиях создается или удаляется объект класса QWidget.
Этот объект в себе содержит Layout + несколько мелких виджетов...
Мелкие виджеты (кнопочки, лабели и т.п.) создаются без параметра parent.
Нужно ли при удалении виджета QWidget удалять и эти мелкие виджеты? или они сами удалятся автоматом?
пример:
...
QWidget *widget; //динамический виджет
QLabel *label;//
QVBoxLayout *centralLayout;
...
MyCentralWidget::MyCentralWidget()
{
centralLayout = new QVBoxLayout;
setLayout(centralLayout )
}
MyCentralWidget::createWidget() //создаем объект типа QWidget
{
widget = new QWidget;
label = new QLabel(tr("i label");
QVBoxLayout *layout = new QVBoxLayout;
layout->addWidget(label);
widget ->setLayout(layout);
centralLayout ->addWidget(widget);
}
MyCentralWidget::removeWidget() //удаляем объект типа QWidget
{
if (widget) {
centralLayout ->remoteWidget(widget);
delete widget; // <=== удалится ли при этом QLabel?
widget=0;
}
}
собственно вопрос... QLabel нужно создавать с параметром parent ? И если ДА, то парентом должен быть widget или layout ?