Russian Qt Forum

Qt => Пользовательский интерфейс (GUI) => Тема начата: Гурман от Июня 07, 2010, 15:53



Название: не удаляется виджет из QVBoxLayout
Отправлено: Гурман от Июня 07, 2010, 15:53
к некоему QVBoxLayout добавляется некоторое количество таблиц, которые создаются

Код:
QTableWidget* t = new QTableWidget(DEFALUTVARSNUMB,numb,mainWidget);

потом

QList arrayList << t;
(QVBoxLayout*) vLayout->addWidget( t );

когда надо, некоторые удаляются так:

Код:
vLayout->removeWidget( arrayList[ i ] );
vLayout->update();

в результате виджет из бокса не исчезает, хотя изображение меняется - исчезает двойная полоска, отделяющая его от предыдущего виджета

что не так делаю?


Название: Re: не удаляется виджет из QVBoxLayout
Отправлено: BRE от Июня 07, 2010, 16:03
что не так делаю?
Ты убираешь его из компановщика, но на parent-виджете он остается. Удаляй его явно delete.


Название: Re: не удаляется виджет из QVBoxLayout
Отправлено: Гурман от Июня 07, 2010, 16:37
да, именно так... хотелось его не удалять полностью, только с экрана, придется огород городить, чтобы виджет копировался на потом

зачем так сделано, что если из контейнера удаляется, на экране все равно остается?  :(


Название: Re: не удаляется виджет из QVBoxLayout
Отправлено: BRE от Июня 07, 2010, 16:44
да, именно так... хотелось его не удалять полностью, только с экрана, придется огород городить, чтобы виджет копировался на потом
Попробуй ему делать hide().


Название: Re: не удаляется виджет из QVBoxLayout
Отправлено: Гурман от Июня 07, 2010, 16:47
после hide на него ссылка все равно где-то будет, кроме моего списка arrayList? это не правильно...


Название: Re: не удаляется виджет из QVBoxLayout
Отправлено: GreatSnake от Июня 07, 2010, 17:12
при создании QTableWidget не давай ему родителя.


Название: Re: не удаляется виджет из QVBoxLayout
Отправлено: Гурман от Июня 07, 2010, 17:20
а! теперь ясно в чем дело...