Qt - Как контролировать размеры виджетов в QLayout - PullRequest
1 голос
/ 19 ноября 2010

Я пытаюсь поместить некоторые раскрутки, правки строк в макете.Но размер простирается больше чем необходимость.Ниже приведен рисунок alt text

Здесь я добавляю виджет QScrollArea и QVBoxLayout в QHBoxLayout.Затем я добавляю правки строк, скручиваю прямоугольники в QVBoxLayout.Но я хочу уменьшить ширину как 2/10 от общей ширины.Кто-нибудь может мне помочь в этом?

Ответы [ 4 ]

7 голосов
/ 20 ноября 2010

На мой взгляд, работа с факторами растяжения не является правильным решением. Это немного "хакерский". Факторы растяжения полезны, например, когда у вас есть два виджета, которые оба используют как можно больше места, но не со скоростью 50:50.

Здесь, на мой взгляд, у вас есть два виджета (или группы виджетов), где один должен использовать столько места, сколько ему действительно нужно, а другой должен занимать все остальное. Это то, что политики размера для. Установите горизонтальную политику левого на Expanding (или MinimumExpanding, если вы хотите запретить полосы прокрутки), а правого на Preferred.

3 голосов
/ 19 ноября 2010

Это легко.Это можно сделать, задав коэффициент растяжения.Это означает, что вы должны инициировать значение при использовании функций

addWidget(widget,stretchfactor);
       or
addLayout(layout,stretchfactor);
0 голосов
/ 19 ноября 2010

Посмотрите на QSizePolicy.Это может быть полезно.

0 голосов
/ 19 ноября 2010

Я думаю, вам следует попробовать с void setSizeConstraint ( SizeConstraint ) и minimumSize() унаследованными методами.

Прочитать документ

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...