Название: Удаление динамических виджетов [РЕШЕНО] Отправлено: kuzulis от Июль 22, 2009, 07:40 Доброго времени суток!
Имею к примеру приложение, в котором при каких-то условиях создается или удаляется объект класса QWidget. Этот объект в себе содержит Layout + несколько мелких виджетов... Мелкие виджеты (кнопочки, лабели и т.п.) создаются без параметра parent. Нужно ли при удалении виджета QWidget удалять и эти мелкие виджеты? или они сами удалятся автоматом? пример: Код: ... собственно вопрос... QLabel нужно создавать с параметром parent ? И если ДА, то парентом должен быть widget или layout ? Название: Re: Удаление динамических виджетов Отправлено: Alex Custov от Июль 22, 2009, 08:04 Цитировать void QLayout::addItem ( QLayoutItem * item ) [pure virtual] Implemented in subclasses to add an item. How it is added is specific to each subclass. This function is not usually called in application code. To add a widget to a layout, use the addWidget() function; to add a child layout, use the addLayout() function provided by the relevant QLayout subclass. Note: The ownership of item is transferred to the layout, and it's the layout's responsibility to delete it. Название: Re: Удаление динамических виджетов Отправлено: kuzulis от Июль 22, 2009, 08:29 Ага, т.е получается, что программисту не нужно заботится об удалении виджетов, добавленных с помощью ф-ций addWidget или addLayout ?
Название: Re: Удаление динамических виджетов Отправлено: Авварон от Июль 22, 2009, 08:43 если у QObject'а есть parent, то этот объект удаляется предком автоматически
Название: Re: Удаление динамических виджетов Отправлено: Alex Custov от Июль 22, 2009, 13:12 Ага, т.е получается, что программисту не нужно заботится об удалении виджетов, добавленных с помощью ф-ций addWidget или addLayout ? нет, не нужно. В доке же всё написано :) Название: Re: Удаление динамических виджетов Отправлено: kuzulis от Июль 22, 2009, 14:31 Спасибо! :)
ЗЫ: мы доку не читаем! |