На виджете поля - это область внутри виджета.
Так что если у вас есть виджет размером 100 x 50 и поля (5,6,5,6), то вы будетеиметь contentsRect()
из QRect(5,6 90x38)
.
Виджет может рисовать свои поля, и, насколько это касается QLayout
, эти поля считаются как в виджете.Эти поля используются для информирования других виджетов и подклассов о том, где находится «ядро» виджета.Это может быть полезно, чтобы сообщить подклассам, где им разрешено рисовать.
Поля для макетов одинаковы.Они представляют область в макете.Если у вас есть макет с левым полем 10 пикселей, первый виджет будет отображаться на расстоянии 10 пикселей от границы макета.Если этот виджет имеет левое поле 5 пикселей, то значимое содержимое виджета будет начинаться на расстоянии 15 пикселей от границы макета.Однако, как я уже говорил, часть от 10 px до 15 px находится внутри виджета, и виджет может рисовать в этом пространстве.
В макетах у вас также есть spacing
, а для полей это добавляетдо полей виджетов.

Дополнительная информация
Если вы разместите макет внутри виджета, макет будет занимать толькопрямоугольник содержимого (contentsRect()
).Тогда макет будет иметь свое поле, подсчитанное внутри макета.
В заключение, общее видимое поле - это поле родительского виджета + поле макета + поле дочернего виджета.