Описание класса QLayout
|
Константа | Значение | Описание |
---|---|---|
QLayout::SetDefaultConstraint | 0 | Минимальный размер главного виджета устанавливается в minimumSize(), если виджет ещё не имеет минимального размера. |
QLayout::SetFixedSize | 3 | Размер главного виджета устанавливается в sizeHint(); он не может быть изменён. |
QLayout::SetMinimumSize | 2 | Минимальный размер главного виджета устанавливается в minimumSize(); он не может быть меньше. |
QLayout::SetMaximumSize | 4 | Максимальный размер главного виджета устанавливается в maximumSize(); он не может быть больше. |
QLayout::SetMinAndMaxSize | 5 | Минимальный размер главного виджета устанавливается в minimumSize() и его максимальный размер устанавливается в maximumSize(). |
QLayout::SetNoConstraint | 1 | Виджет не имеет ограничений. |
Смотрите также setSizeConstraint().
Это свойство содержит режим изменения размера компоновщика.
Режим по умолчанию равен SetDefaultConstraint.
Функции доступа:
Это свойство содержит интервал (шаг) между виджетами внутри компоновщика.
Если значение не установлено явно, то интервал компоновщика наследуется от родительского компоновщика, или из настроек стиля для родительского виджета.
Для компоновщиков QGridLayout и QFormLayout, можно устанавливать разные горизонтальные и вертикальные интервалы, используя функции setHorizontalSpacing() и setVerticalSpacing(). В этом случае, функция spacing() вернёт -1.
Функции доступа:
Смотрите также contentsRect(), getContentsMargins(), QStyle::layoutSpacing(), и QStyle::pixelMetric().
конструирует новый QLayout верхнего уровня, с родителем parent. parent не может быть 0.
Для виджета может быть только один компоновщик верхнего уровня. Он возвращается функцией QWidget::layout().
Конструирует новый дочерний QLayout.
Этот компоновщик должен быть вставлен в другой компоновщик до того, как управление компоновкой начнёт работать.
Повторно выполняет компоновку для parentWidget(), если необходимо.
Обычно, вы не нуждаетесь в вызове этой функции, потому что она автоматически вызывается в большинстве соответствующих случаев. Она вернёт true, если компоновка выполнилась повторно.
Смотрите также update() и QWidget::updateGeometry().
Эта функция вызывается в подклассе из функции addLayout() или insertLayout(), чтобы добавить компоновщик l в качестве вложенного.
Единственный сценарий, в котором вам нужно вызвать её напрямую - это, если вы реализуете пользовательский компоновщик, который поддерживает вложенные.
Смотрите также QBoxLayout::addLayout(), QBoxLayout::insertLayout(), и QGridLayout::addLayout().
Эта функция вызывается в подклассе из функции addWidget(), чтобы добавить w в качестве дочернего виджета.
Если w уже находится в компоновщике, то эта функция подаст предупреждение и удалит w из компоновщика. Следовательно, эта функция должна быть вызвана перед добавлением w в структуру данных компоновщика.
Реализуется в подклассе, чтобы добавить item. Как происходит добавление, определяется в конкретном подклассе.
Эта функция, обычно, не вызывается из кода приложения. Чтобы добавить виджет в компоновщик, используйте функцию addWidget(); чтобы добавить дочерний компоновщик, используйте функцию addLayout(), предоставляемую связанным подклассом QLayout'а.
Замечание: Владение элементом item передаётся компоновщику, и компоновщик отвечает за его удаление.
Смотрите также addWidget(), QBoxLayout::addLayout(), и QGridLayout::addLayout().
Добавляет виджет w в этот компоновщик, и способом, зависящим от компоновщика. Эта функция используется функцией addItem().
Возвращает охватывающий прямоугольник, когда геометрия этого компоновщика устанавливается в r, при условии, что этот компоновщик поддерживает setAlignment().
Результат получается из sizeHint() и expanding(). Он ни когда не превышает r.
Возвращает размер, который удовлетворяет всем ограничениям на размер widget'а, включая heightForWidth() и, который настолько ближе к size насколько это возможно.
Возвращает прямоугольник geometry() компоновщика, но с учётом полей (margins) содержимого.
Эта функция была введена в Qt 4.3.
Смотрите также setContentsMargins() и getContentsMargins().
Должен быть реализован в подклассе, чтобы вернуть количество элементов в компоновщике.
Смотрите также itemAt().
Возвращает, может ли этот компоновщик использовать больше места, чем возвращает функция sizeHint(). Значения Qt::Vertical или Qt::Horizontal означают, что он желает увеличиваться только в одном измерении, тогда как Qt::Vertical | Qt::Horizontal означает, что он желает увеличиваться в обоих измерениях.
Реализация по умолчанию возвращает Qt::Horizontal | Qt::Vertical. Подклассы переопределяют его, чтобы вернуть наиболее значимую величину, основанную на политике размеров их дочерних виджетов.
Переопределено из QLayoutItem.
Смотрите также sizeHint().
Извлекает левое, верхнее, правое, и нижнее поля (margins) использованные вокруг компоновщика, и и присваивает их аргументам *left, *top, *right, и *bottom (если они не нулевые указатели).
По умолчанию, QLayout использует значения предоставляемые стилями. На большинстве платформ, поле равно 11 пикселям во всех направлениях.
Эта функция была введена в Qt 4.3.
Смотрите также setContentsMargins(), QStyle::pixelMetric(), PM_LayoutLeftMargin, PM_LayoutTopMargin, PM_LayoutRightMargin, и PM_LayoutBottomMargin.
Ищет виджет widget в этом компоновщике (исключая дочерние компоновщики).
Возвращает индекс widget'а, либо -1 если widget не найден.
Реализация по умолчанию обходит все элементы, используя функцию itemAt()
Возвращает true, если компоновщик разрешён; в противном случае возвращает false.
Смотрите также setEnabled().
Должно быть реализовано в подклассах, чтобы вернуть элемент компоновки в позиции с индексом index. если не существует такого элемента, то функция должна вернуть 0. Элементы нумеруются последовательно начиная с 0. Если элемент удалён, то другие элементы будут перенумерованы.
Эта функция может быть использована, чтобы обойти весь компоновщик. Следующий код нарисует прямоугольник для каждого элемента компоновщика в структуре компоновки виджета.
static void paintLayout(QPainter *painter, QLayoutItem *item) { QLayout *layout = item->layout(); if (layout) { for (int i = 0; i < layout->count(); ++i) paintLayout(painter, layout->itemAt(i)); } painter->drawRect(layout->geometry()); } void MyWidget::paintEvent(QPaintEvent *) { QPainter painter(this); if (layout()) paintLayout(&painter, layout()); }
Смотрите также count() и takeAt().
Возвращает максимальный размер этого компоновщика. Это наибольший размер, который может иметь компоновщик, по прежнему соответствуя спецификации (определению).
Возвращаемое значение не включает пространство требуемое функцией QWidget::setContentsMargins() или menuBar().
Реализация по умолчанию допускает неограниченное изменение размеров.
Переопределено из QLayoutItem.
Возвращает панель меню, установленную для этого компоновщика, или 0, если панель меню не установлена.
Смотрите также setMenuBar().
Возвращает минимальный размер этого компоновщика. Это наименьший размер, который может иметь компоновщик, по прежнему соответствуя спецификации (определению).
Возвращаемое значение не включает пространство требуемое функцией QWidget::setContentsMargins() или menuBar().
Реализация по умолчанию допускает неограниченное изменение размеров.
Переопределено из QLayoutItem.
Возвращает родительский виджет этого компоновщика, или 0, если этот компоновщик не установлен ни для одного виджета.
Если компоновщик - подкомпоновщик, эта функция возвращает родительский виджет родительского компоновщика.
Смотрите также parent().
Удаляет элемент компоновщика item из этого компоновщика. Вызывающий ответственен за удаление элемента.
Заметьте, что item может быть компоновщиком (т.к. QLayout унаследован от QLayoutItem).
Смотрите также removeWidget() и addItem().
Удаляет виджет widget из компоновщика. После вызова этой функции, вызывающий ответственен за установку виджету приемлемой геометрии или помещение виджета обратно в компоновщик.
Замечание: Владельцем widget'а остаётся тот же, что и при его добавлении.
Смотрите также removeItem(), QWidget::setGeometry(), и addWidget().
Устанавливает выравнивание для виджета w равным alignment и возвращает true если виджет w найден в этом компоновщике (исключая дочерние компоновщик); в противном случае возвращает false.
Это перегруженная функция, предоставленная для удобства.
Устанавливает выравнивание этого элемента равным alignment.
Смотрите также QLayoutItem::setAlignment().
Это перегруженная функция, предоставленная для удобства.
Устанавливает выравнивание для компоновщика l равным alignment и возвращает true если компоновщик l найден в этом компоновщике (исключая дочерние компоновщик); в противном случае возвращает false.
Устанавливает левое, верхнее, правое, и нижнее поля, для использования вокруг компоновщика.
По умолчанию, QLayout использует значения предоставляемые стилями. На большинстве платформ, поле равно 11 пикселям во всех направлениях.
Эта функция была введена в Qt 4.3.
Смотрите также getContentsMargins(), QStyle::pixelMetric(), PM_LayoutLeftMargin, PM_LayoutTopMargin, PM_LayoutRightMargin, и PM_LayoutBottomMargin.
Разрешает этот компоновщик, если enable равен true, в противном случае запрещает его.
Разрешённый компоновщик подстраивается автоматически к изменениям; запрещённый компоновщик действует, как если бы он отсутствовал.
По умолчанию все компоновщики разрешены.
Смотрите также isEnabled().
Говорит компоновщику поместить панель меню widget на верху виджета parentWidget(), за пределами QWidget::contentsMargins(). Все дочерние виджеты помещаются под нижнем краем панели меню.
Смотрите также menuBar().
Должно быть реализовано в подклассах, чтобы удалить элемент компоновки, в позиции с индексом index, из компоновщика, и вернуть его. Если нет такого элемента, то функция ничего не должна делать и должна вернуть 0. Элементы нумеруются последовательно начиная с 0. Если элемент удалён, то другие элементы будут перенумерованы.
Следующий фрагмент кода показывает безопасный способ удаления всех элементов из компоновщика:
QLayoutItem *child; while ((child = layout->takeAt(0)) != 0) { ... delete child; }
Смотрите также itemAt() и count().
Обновляет компоновщик для parentWidget().
Обычно, вы не нуждаетесь в вызове этой функции, потому что она автоматически вызывается в большинстве соответствующих случаев.
Смотрите также activate() и invalidate().
Copyright © 2008 Nokia | Торговые марки | Qt 4.4.3 |
Попытка перевода Qt документации. Если есть желание присоединиться, или если есть замечания или пожелания, то заходите на форум: Перевод Qt документации на русский язык... Люди внесшие вклад в перевод: Команда переводчиков |