![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() |
ernie |
![]()
Сообщение
#1
|
![]() Участник ![]() ![]() Группа: Участник Сообщений: 130 Регистрация: 13.5.2010 Из: Irkutsk Пользователь №: 1712 Спасибо сказали: 11 раз(а) Репутация: ![]() ![]() ![]() |
Доброго времени суток господа.Вопрос такой:
Создается QVector,далее создаются нужные виджеты и помещаются в этот вектор,после этого нужные виджеты из вектора помещаются на лайаут. В определённый момент надо удалить все виджеты с лайата и поместить туда снова(т.е. виджеты из того же вектора,некоторые остаются теми же,некоторые новые из этого же вектора),но тут то и возникает проблема,если делаю : то виджеты удаляются и в векторе,что в дальнейшем вызывает проблемы,если просто делаем removeWidget() для всех виджетов,то они так и продолжают отрисовываться,подскажите выход,заранее спасибо.
Причина редактирования: исправил опечатки
|
|
|
![]() |
kwisp |
![]()
Сообщение
#2
|
![]() астарожна ынтжинэр ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 1404 Регистрация: 26.11.2008 Из: ТаганрогРодинаЧехова Пользователь №: 435 Спасибо сказали: 113 раз(а) Репутация: ![]() ![]() ![]() |
ernie,
судя по доке Цитата void QLayout::removeWidget ( QWidget * widget ) Removes the widget widget from the layout. After this call, it is the caller's responsibility to give the widget a reasonable geometry or to put the widget back into a layout. Note: The ownership of widget remains the same as when it was added. See also removeItem(), QWidget::setGeometry(), and addWidget(). тебе владельца виджета сменить надо. что даёт void QLayout::removeItem ( QLayoutItem * item ) ??? |
|
|
igor_bogomolov |
![]()
Сообщение
#3
|
Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 1215 Регистрация: 22.3.2009 Из: Саратов Пользователь №: 630 Спасибо сказали: 235 раз(а) Репутация: ![]() ![]() ![]() |
Цитата(kwisp) тебе владельца виджета сменить надо. Если точнее, то родителя нужно обнулить, т.к. layout его принудительно назначает. Тек же, возможно, придется скрыть виджет в ручную QWidget::hide ()
|
|
|
ernie |
![]()
Сообщение
#4
|
![]() Участник ![]() ![]() Группа: Участник Сообщений: 130 Регистрация: 13.5.2010 Из: Irkutsk Пользователь №: 1712 Спасибо сказали: 11 раз(а) Репутация: ![]() ![]() ![]() |
igor_bogomolov,kwisp спасибо,обнуление родителя дало как раз то что надо.
|
|
|
![]() ![]() ![]() |
![]() |
Текстовая версия | Сейчас: 18.2.2025, 10:43 |