Russian Qt Forum

Qt => Пользовательский интерфейс (GUI) => Тема начата: vipet от Май 06, 2011, 21:29



Название: Заморочки с QSplitter
Отправлено: vipet от Май 06, 2011, 21:29
Имеем QSplitter(Qt::Vertical) и два виджета в нем - нижний и верхний.

Оба виджета имеют минимальную высоту, меньше которой они не могут сжиматься. (Задано через min-height в CSS.)

При изменении размеров сплиттера надо чтобы нижний виджет сохранял свой размер, а верхний увеличивался/уменьшался.
А происходит увеличение/уменьшение высот обоих виджетов.

(Изменение размеров сплиттера происходит при изменении размеров окна в котором он находится
либо при show()/hide() виджета, который находится в одном лэйауте со сплиттером - в обоих случаях нужно, чтобы нижний виджет сохранял свой текущий размер.)

Пробовал разные комбинации SizePolicy'ей и stretchFactor'ов, но ничего не подобрал подходящего.

Кто-нить делал такое?


Название: Re: Заморочки с QSplitter
Отправлено: Kolobok от Май 07, 2011, 00:04
Код:
ui->m_splitter->setStretchFactor( 0, 0 );
ui->m_splitter->setStretchFactor( 1, 1 );

у меня работает.