Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум на CrossPlatform.RU _ Qt GUI _ Мигание при создании виджетов

Автор: dimon1980ddd 6.1.2010, 13:11

Происходит мигание при динамическом создание виджетов. Я так понимаю что это из-за того что layout сначала сжимается когда элементы удаляются, а затем снова растягивается... Как можно "заморозить" layout чтобы не было подобного мерцания при удалении/создании элементов?
Пробовал blockSiganals и setEnabled - тоже самое:

Вот кусок кода (params - добавляемый виджет):

CODE
if (params) delete params;
params = new Params(ui->grbClient);
ui->layoutParams->blockSignals(true);
ui->layoutParams->setEnabled(false);

ui->layoutParams->addWidget(params);

ui->layoutParams->setEnabled(true);
ui->layoutParams->blockSignals(false);


Может для выше расположенных widget и layout то же что нибудь делать или вообще для всего окна?

Автор: BRE 6.1.2010, 13:16

Посмотри на void QWidget::setUpdatesEnabled ( bool enable )

Автор: dimon1980ddd 6.1.2010, 14:17

По help'y то что нужно, но у меня все равно мигает
Кому только не выставлял... Все равно мигает...

CODE
this->setUpdatesEnabled(false);
ui->grbClient->setUpdatesEnabled(false);
if (params) delete params;
params = new Params(ui->grbClient);
params->setUpdatesEnabled(false);
ui->layoutParams->addWidget(params);
params->setUpdatesEnabled(true);
ui->grbClient->setUpdatesEnabled(true);
this->setUpdatesEnabled(true);

Автор: SABROG 6.1.2010, 15:45

А компилируемый пример можно увидеть?

Автор: dimon1980ddd 6.1.2010, 19:03

ОК... Завтра набросаю....

Форум Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)