Изменение размера разделителя Qt с помощью Qt Designer

У меня проблема с размером в моем представлении, сделанным в Qt с перетаскиванием.

Позвольте мне начать с изображения, чтобы помочь мне объяснить

enter image description here

Это ключевое слово для моей формы.

Что происходит:

У нас есть 4 виджета. виджет левой вкладки имеет горизонтальный разделитель для двух средних виджетах. 2 средних виджета имеют вертикальный разделитель и горизонтальный разделитель слева и справа.

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

Таким образом, все представления подключаются с помощью разделителей.

Наконец, mainform объединяет все вещи по размеру с горизонтальным расположением.

Проблема заключается в том, что ширина левого и правого виджетов фиксирована (в дизайнере). Я хочу, чтобы они были меньше по ширине. Нечто похожее на:

enter image description here

Вы можете видеть, что виджеты изменяются. Я смог выполнить это, выполнив приложение, и вручную отрегулировал сплиттеры. Есть ли способ в QtDesigner сделать это? Я пробовал играть с политикой. Однако я действительно не понял. Означает ли это недостаток знаний о моей роли в политике? Возможно, макеты вообще?

Какие параметры следует использовать для достижения желаемого макета с помощью QtDesigner. Я хочу избежать использования кода.

Надеюсь, что скоро смогу это решить. Он должен упускать из виду что-то простое.

Ответ 1

Вы можете играть с параметрами "Горизонтальное растяжение" и "Вертикальное растяжение", чтобы изменить положение раскола.

Например, как вертикальное растяжение верхнего центрального QTabWidget, так и горизонтальное растяжение центрального QSplitter в точке 1, а все остальные значения сохраняются в 0, вы получите желаемый результат.

Когда у вас есть несколько ненулевых значений растяжения, результат соотношения (например: вертикальный стрейч с 2 и 1 для 2 центральных QTabWidget = > 2/3 и 1/3) не отображается в дизайнере но, похоже, работает при запуске приложения.

PS: Вы также можете добиться того же результата с помощью tabbified QDockWidget, но привязка док-станции невозможна только для дизайнера.

Ответ 2

Я установил начальную позицию, которая:

QList<int> list= ui->splitter->sizes();
list.replace(0,this->height()/0.3);
list.replace(1,this->height()/0.7);
ui->splitter->setSizes(list);

и не забывайте о дочернем виджле с минимальным размером