Название: Удалить виджет из verticalLayout Отправлено: Mashko от Май 25, 2009, 15:44 Есть verticalLayout, в нём распологается один виджет, какой именно не известно (removeWidget(QWidget *widget) применять получается бессмысленно).
Задача: нужно удалить из лейаута этот виджет и впихнуть туда другой. Пробовала удалять через removeItem(QLayoutItem), скатала со справки: Код: QLayoutItem *child; В чем ошибка? ??? Название: Re: Удалить виджет из verticalLayout Отправлено: Авварон от Май 25, 2009, 16:39 может надо void update () сделать? а спрашивать в чем ошибка примера из Ассистанта это конечно оригинально...
Название: Re: Удалить виджет из verticalLayout Отправлено: Mashko от Май 25, 2009, 19:20 Если бы всё работало как надо, я бы и спрашивала соответственно
Название: Re: Удалить виджет из verticalLayout Отправлено: spectre71 от Май 26, 2009, 09:25 Все работает как надо.
В Assistant пример выглядел подругому! Там есть еще "..." Код: QLayoutItem *child; Сделай: Код: QLayoutItem *child; removeItem - не уничтожает QLayoutItem, а удаляет объект из списка "Removes the layout item item from the layout. It is the caller's responsibility to delete the item." delete child; - уничтожает объект. Но в списке то указатель на него остается! Название: Re: Удалить виджет из verticalLayout Отправлено: Авварон от Май 26, 2009, 10:04 Цитировать QLayoutItem * QLayout::takeAt ( int index ) [pure virtual] она уже должна удалить...Must be implemented in subclasses to remove the layout item at index from the layout, and return the item Название: Re: Удалить виджет из verticalLayout Отправлено: spectre71 от Май 26, 2009, 10:54 Это работает
Код
Название: Re: Удалить виджет из verticalLayout Отправлено: pastor от Сентябрь 04, 2010, 18:18 Поднимаю тему- аналогичная проблема как у топик стартера, только вышеприведенная констукция не помагает. виджеты не удаляются, а как были так и остаются на главном окне. вопрос -почему такое может быть? Виджеты добавляю стандартным средством addWidget Какая именно из вышеприведенных конструкций не работает? Название: Re: Удалить виджет из verticalLayout Отправлено: Ovoshlook от Сентябрь 04, 2010, 18:26 прошу прощения. Все работает. Это я невнимательный. Не все переписал- delete w забыл написать)))
Еще раз извините) |