Russian Qt Forum

Qt => Пользовательский интерфейс (GUI) => Тема начата: Larry от Июль 31, 2019, 11:29



Название: [РЕШЕНО]Плавное растяжение виджетов в QSplitter
Отправлено: Larry от Июль 31, 2019, 11:29
Добрый день, форумчане!
Есть вертикальный QSplitter и в нем несколько виджетов...При изменение размеров они либо схлопываются, либо ничего не происходит в зависимости от свойства childrenCollapsible. Устанавливал setStretchFactor(index, 1) для каждого виджета, но ничего не меняется. Подскажите пожалуйста, как сделать чтобы размеры виджетов менялись плавно. Спасибо.


Название: Re: Плавное растяжение виджетов в QSplitter
Отправлено: ViTech от Июль 31, 2019, 11:48
Устанавливал setStretchFactor(index, 1) для каждого виджета, но ничего не меняется.
void QSplitter::setStretchFactor(int index, int stretch) (https://doc.qt.io/qt-5/qsplitter.html#setStretchFactor)
Цитировать
stretch is not the effective stretch factor; the effective stretch factor is calculated by taking the initial size of the widget and multiplying it with stretch.

Попробуйте поэкспериментировать с sizePolicy виджетов в этом сплиттере.


Название: Re: Плавное растяжение виджетов в QSplitter
Отправлено: Larry от Июль 31, 2019, 12:16
Спасибо. Сейчас проверю все sizePolicy...В QSplitter помещается составной виджет (своего рода контейнер), т.е. SizePolicy для всех виджетов внутри должно быть одинаковым?


Название: Re: Плавное растяжение виджетов в QSplitter
Отправлено: ViTech от Июль 31, 2019, 12:28
Не обязательно. Это зависит от требуемого поведения виджетов в сплиттере, как они должны изменять размер относительно друг друга. Поэкспериментируйте с разными значениями sizePolicy виджетов и оставьте наиболее подходящие.


Название: Re: Плавное растяжение виджетов в QSplitter
Отправлено: Larry от Июль 31, 2019, 12:44
Перепробовал все варианты QSizePolicy и поведение никак не изменилось...


Название: Re: Плавное растяжение виджетов в QSplitter
Отправлено: Larry от Июль 31, 2019, 12:53
При проверке выяснилось, что не все виджеты ведут себя так, те в которых находятся таблицы н-р, то они плавно изменяют размер, т.е. где-то я натупил ;D. Буду разбираться. Спасибо.