Таблицы стилей Qt — как удалить мертвое пространство

Я создаю простое приложение для построения графиков с использованием PySide, и у меня проблема с большим количеством мертвого пространства.

Как я могу удалить все эти дополнительные отступы с помощью таблиц стилей (предпочтительно) или программно? Я попытался установить поля и отступы в QFrame на 0, но без особого эффекта.

Я использую макеты для позиционирования, а мои виджеты наследуются от QFrame и обычно содержат другие виджеты, такие как QTabWidget, QListWidget и т. д.

(Я избегал использования QWidget, так как считаю, что он не полностью поддерживается таблицами стилей Qt)

Ниже приведен скриншот моего приложения с красными линиями, указывающими на мое проблемное мертвое пространство (нижняя красная линия слишком длинная — там есть строка состояния)

введите здесь описание изображения

Любые идеи?


person jramm    schedule 21.07.2014    source источник


Ответы (1)


Если вы раскрасите фон своих виджетов, вы увидите, что никакое значение свойства margin или padding не изменит интервал между ними и поле. Это регулируется макетом. Поэтому в вашем наборе макетов:

layout.setContentsMargins(0, 0, 0, 0)
layout.setSpacing(0)

и все пустые места должны исчезнуть. К сожалению, это можно сделать только программно, а не с помощью таблиц стилей. См. также комментарии в Qt set contentMargins from stylesheet и Qt удалить поля

person Trilarion    schedule 21.07.2014