Вопрос QT - Для чего все эти дополнительные пробелы? (фото предоставлено) - PullRequest
2 голосов
/ 21 мая 2010
Переполнение стека

не позволяет мне публиковать изображения, вот ссылка:

http://4m0.org/images/qt.png

Это мое приложение.В этом вопросе игнорируйте верхнюю часть с помощью кнопок.

У меня есть QScrollArea

, заполненный множеством QGroupBoxes

, заполненный горизонтальной рамкой QLabel (слева) и QGroupBox (справа)

Правая сторона представляет собой вертикальный макет блока QPushButtons

Каждый отдельный элемент, прокрутка, оба поля, метки и кнопки имеют свой стильлисты изменены так, чтобы отступы составляли 0px, а поля - 0px.

Почему у меня есть все это дополнительное пространство?

Область прокрутки имеет пространство со всех сторон, пока не начнутся ее внутренние элементы (синие прямоугольники).Затем в этих коробках остается место, пока не начнутся их внутренние элементы (белые коробки).

Может кто-нибудь сказать мне, что происходит?

Ответы [ 2 ]

2 голосов
/ 21 мая 2010

Почему у меня есть все это дополнительное пространство?

Если я вас правильно понял, вам нужно отредактировать код компоновки с этим, чтобы исключить ненужные пробелы:

QVBoxLayout *buttonsLayout = new QVBoxLayout;
buttonsLayout->setContentsMargins(0, 0, 0, 0); // remove spaces
buttonsLayout->setSpacing(0);
buttonsLayout->addWidget(daysButton);
...
0 голосов
/ 01 июня 2010

Catch layout вашего QScrollArea

QLayout *layout = myScrollArea->layout(); 
layout->setSpacing(0);
layout->setContentsMargins  ( 0, 0, 0, 0 );
...