Home · All Classes · Main Classes · Grouped Classes · Modules · Functions |
Класс QLayout - это базовый класс менеджеров компоновки. Далее...
#include <QLayout>
Наследует QObject и QLayoutItem.
Наследуется QBoxLayout, QGridLayout и QStackedLayout.
Класс QLayout - это базовый класс менеджеров компоновки.
Это абстрактный базовый класс наследуемый конкретными классами QBoxLayout, QGridLayout и QStackedLayout.
Для пользователей подклассов QLayout или QMainWindow редко возникает потребность в базовых функциях, предоставляемых QLayout, таких как setSizeConstraint() или setMenuBar(). Для получения более подробной информации см. Классы Компоновки.
Чтобы реализовать собственного менеджера компоновки, реализуйте функции addItem(), sizeHint(), setGeometry(), itemAt() и takeAt(). Вы также должны реализовать minimumSize() чтобы гарантировать, что Ваш компоновщик не переустановит размер в ноль, если у него есть слишком мало места. Поддержка дочерних объектов, чьи высоты зависят от их ширин осуществляется с помощью реализации hasHeightForWidth() и heightForWidth(). Для получения более подробной информации о реализации пользовательских компоновщиков см. примеры Border Layout и Flow Layout.
Управление компоновкой останавливется при удалении менеджера компоновки.
См. также QLayoutItem и Layout Classes.
Возможные значения:
Константа | Значение | Описание |
---|---|---|
QLayout::SetDefaultConstraint | 0 | The main widget's minimum size is set to minimumSize(), unless the widget already has a minimum size. |
QLayout::SetFixedSize | 3 | The main widget's size is set to sizeHint(); it cannot be resized at all. |
QLayout::SetMinimumSize | 2 | The main widget's minimum size is set to minimumSize(); it cannot be smaller. |
QLayout::SetMaximumSize | 4 | The main widget's maximum size is set to maximumSize(); it cannot be larger. |
QLayout::SetMinAndMaxSize | 5 | The main widget's minimum size is set to minimumSize() and its maximum size is set to maximumSize(). |
QLayout::SetNoConstraint | 1 | The widget is not constrained. |
См. также setSizeConstraint().
Данное свойство содержит ширину внешних границ компоновщика.
Функции доступа:
См. также spacing.
Данное свойство содержит режим изменения размеров компоновщика.
Режим по умолчанию: SetDefaultConstraint.
Функции доступа:
Данное свойство содержит расстояние между виджетами внутри компоновщика.
Значение по умолчанию равно -1, что означает, что расстояние между виджетами наследуется от родительского компоновщика или от настроек стиля родительского виджета.
Функции доступа:
См. также margin.
Создает новый QLayout верхнего уровня с родителем parent. parent может быть равен 0.
У виджета может быть только один компоновщик верхнего уровня. Он возвращается QWidget::layout().
Создает новый дочерний QLayout.
Новый компоновщик должен быть вставлен в другой компоновщик прежде, чем начнет работать управление компоновкой.
Если необходимо, перестраивает расположение для parentWidget().
Обычно Вы не должны вызывать данную функцию, так как она автоматически вызывается в нужные моменты.
См. также update() и QWidget::updateGeometry().
Данная функция вызывается из функций addLayout() подклассов для добавления компоновщика l как подкомпоновщик.
Данная функция вызывается из функций addWidget() подклассов для добавления w в качестве дочернего виджета.
Если w уже присутсвует в компоновщике, ото функцию выдаст предупреждение и удалит w из компоновщика. Поэтому данная функция должна вызыватья перед добавлением w в структуру данных компоновщика.
Реализуется в подклассах для добавления item в компоновщик. Способ добавления определяется в каждом подклассе.
item передается компоновщику по занчению, и удаление этого значения - это забота компоновщика.
Добавляет виджет w в данный компоновщик способом, характерным для компоновщика. Данная функция использует addItem().
Возвращает прямоугольник, который должен быть закрыт компоновщиком когда его геометрия установлена в r при условии, что компоновщик поддерживает setAlignment().
Результат получается с учетом sizeHint() и expanding(). Он никогда не больше r.
Возвращает размер, удовлетворяющий всем ограничениям размера виджета widget, включая heightForWidth() и близкий, насколько это возможно к size.
Должно быть повторно реализовано в подклассах для возвращаения количество элементов компоновщика.
См. также itemAt().
Сообщает, может ли компоновщик использовать больше места, чем sizeHint(). Значение Qt::Vertical или Qt::Horizontal означает, что расширяться можно только в одном направлении, а Qt::Vertical | Qt::Horizontal означает, что можно расширяться в обоих направлениях.
Реализация по умолчанию возвращает Qt::Horizontal | Qt::Vertical. Подклассы повторно реализуют данную функцию чтобы возвратить значение, основанное на политике размеров дочерних виджетов.
Повторно реализовано по отношению к QLayoutItem.
См. также sizeHint().
Ищет виджет widget в данном компоновщике (не в дочерних компоновщиках).
Возвращает индекс виджета widget или, если виджет widget не найден, -1.
Реализация по умолчанию перебирает все записи используя 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(lay->geometry()); } void MyWidget::paintEvent(QPaintEvent *) { QPainter painter(this); if (layout()) paintLayout(&painter, layout()); }
Возвращает максимальный размер компоновщика. Возвращает самый большой размер, который может принимать компоновщик при соблюдении настроек.
Возвращаемое значение не должно включать пространство, требуемое для QWidget::setContentsMargins() или menuBar().
Реализация по умолчанию не ограничивает изменение размера.
Функция повторно реализована по отношению к QLayoutItem.
Возвращает панель меню, установленную для данного компоновщика, или 0, если панель меню не установлена.
См. также setMenuBar().
Возвращает минимальный размер компоновщика. Минимальный размер - это самый меньший размер, который может принимать компоновщик при соблюдении настроек.
Возвращаемое значение не должно включать пространство, требуемое для QWidget::setContentsMargins() или menuBar().
Реализация по умолчанию не ограничивает изменение размера.
Функция повторно реализована по отношению к QLayoutItem.
Возвращает родительский виджет данного компоновщика или 0, если данный компоновщик ни на какой виджет не установлен.
Если компоновщик является подкомпоновщиком, то данная функция возвращает родительский виджет его родительского компоновщика.
См. также parent().
Удаляет элемент item из компоновщика. Уничтожение элемента - забота вызывающего.
Обратите внимание, что item может быть компоновщиком (так как QLayout наследует QLayoutItem).
См. также removeWidget() и addItem().
Удаляет виджет widget из компоновщика. После вызова данной функции, придача виджету разумной геометрии и помещение его в какой-нибудь компоновщик - это забота вызывающего.
См. также removeItem(), QWidget::setGeometry() и addWidget().
Устанавливает выравнивание виджета w в alignment и возвращает true если виджет w найден в данном компоновщике (не в дочерних компоновщиках); в противном случае возвращает false.
Данная перегруженная функция предоставлена для удобства. Ее поведение аналогично поведению вышеприведенной функции.
Устанавливает выравнивание компоновщика l в alignment и возвращает true если компоновщик l найден в данном компоновщике (не в дочерних компоновщиках); в противном случае возвращает false.
Если enable равно true, делает данный компоновщик доступным, в противном случае, делает данный компоновщик недоступным.
Доступный компоновщик динамически приспосабливается к изменениям; недоступный компоновщик ведет себя так, как будто его не существует.
По умолчанию все компоновщики доступны.
См. также isEnabled().
Указывает менеджеру компоновки разместить панель меню widget на верху parentWidget(), вне QWidget::contentsMargins(). Все дочерние виджеты располагаются ниже нижнего края панели меню.
См. также menuBar().
Должно быть реализовано в подклассах для удаления элемента компоновщика, находящегося в позиции index, из компоновщика и возвращения этого элемента. Если нет такого элемента, функция не должна ничего не делая возвращать 0. Элементы нумеруются начиная с 0. Если элемент удаляется, оставшиеся элементы должны быть перенумерованы.
Следующий фрагмент кода иллюстрирует безопасный способ удаления всех элементов компоновщика:
QLayoutItem *child; while ((child = layout->takeAt(0)) != 0) { ... delete child; }
Обновляет компоновщик для parentWidget().
Обычно Вы не должны вызывать данную функцию, так как она автоматически вызывается в нужные моменты.
См. также activate() и invalidate().
Copyright © 2005 Trolltech | Trademarks | Qt 4.1.0 |