Установить максимальный размер QBoxLayout? - PullRequest
1 голос
/ 22 марта 2011

Я явно что-то упустил здесь, пожалуйста, просветите меня.

AttributeError: 'QVBoxLayout' object has no attribute 'setMaximumSize'

Я уже некоторое время читаю Qt Docs, но, похоже, просто не могу заставить это работать

Ответы [ 3 ]

2 голосов
/ 22 марта 2011

AFAIK вы не можете установить максимальный размер для макета. Почему вы хотите - это не имеет смысла для меня (какой дочерний виджет должен ограничивать макет?)

Относительно setMaximumSize - такого метода для макетов не существует. Однако есть ограничение QLayout::SetMaximumSize, которое вы можете установить, но это ограничение применяется к виджету, который выложен с этим макетом, а не к самому макету. Это означает, что виджет может вырасти не больше максимального размера макета - так что это сильно отличается от того, что вам нужно.

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

0 голосов
/ 22 марта 2011

Как говорит эта ошибка, в макете нет метода setMaximumSize.

QWidget s имеют этот метод.

0 голосов
/ 22 марта 2011

Вы не можете установить свойство MaximumSize напрямую, так как оно динамически определяется макетом.Возможно, вы пытаетесь установить для QLayout.SizeConstraint значение QLayout.SetMaximumSize?Если это так, то посмотрите метод QLayout.setSizeConstraint .В противном случае вам следует вызвать QWidget.setMaximumSize , если вы хотите указать точный максимум для данного виджета.

...