Описание класса QGraphicsLinearLayoutКласс QGraphicsLinearLayout предоставляет горизонтальный или вертикальный компоновщик для управления виджетами в графическом представлении. Далее... #include <QGraphicsLinearLayout> Унаследован от: QGraphicsLayout. Этот класс был введён в Qt 4.4. Открытые функции
Переопределённые открытые функции
Дополнительные унаследованные члены
Подробное описаниеКласс QGraphicsLinearLayout предоставляет горизонтальный или вертикальный компоновщик для управления виджетами в графическом представлении. Ориентация линейного компоновщика по умолчанию равна Qt::Horizontal. Вы можете выбрать вертикальную ориентацию или вызвав setOrientation(), или передав Qt::Vertical в конструктор QGraphicsLinearLayout. Наиболее общий способ использования QGraphicsLinearLayout это создать объект в куче без родителя, добавить виджеты и компоновки вызвав addItem() и, наконец, назначить компоновщик виджету вызвав QGraphicsWidget::setLayout(). QGraphicsScene scene; QGraphicsWidget *textEdit = scene.addWidget(new QTextEdit); QGraphicsWidget *pushButton = scene.addWidget(new QPushButton); QGraphicsLinearLayout *layout = new QGraphicsLinearLayout; layout->addItem(textEdit); layout->addItem(pushButton); QGraphicsWidget *form = new QGraphicsWidget; form->setLayout(layout); scene.addItem(form); Вы можете добавить виджеты, компоновки, подпорки (addStretch(), insertStretch() или setStretchFactor()), и интервалы (setItemSpacing()) для линейных компоновок. Компоновщик становится владельцем элементов. В некоторых случаях, когда элемент компоновки также унаследован от QGraphicsItem (например, QGraphicsWidget), имеется неопределённость во владении, так как элемент компоновки принадлежит двум иерархиям владения. Как это обрабатывать смотрите в документации QGraphicsLayoutItem::setOwnedByLayout(). Вы можете получить доступ к каждому элементу компоновки вызывая count() и itemAt(). Вызовы removeAt() или removeItem() удалят элемент из компоновки, не разрушая его. Подсказки о размерах и политики размеров в QGraphicsLinearLayoutQGraphicsLinearLayout учитывает подсказки о размере и политики размера каждого элемента, и, когда компоновка содержит больше пространства чем могут заполнить элементы, каждый элемент упорядочивается в соответствии с выравниванием компоновки для этого элемента. Вы можете установить выравнивание для каждого элемента вызвав setAlignment(), и проверить выравнивание для всех элементов, вызвав alignment(). По умолчанию элементы выравниваются по левому краю и прижимаются к верхнему краю. Интервалы внутри QGraphicsLinearLayoutМежду элементами компоновщик распределяет немного пространства. Конкретный объём пространства зависит от текущего стиля управляемого виджета, но в общем случае интервал равен 4. Вы также можете установить собственный интервал, вызвав setSpacing(), и получить значение текущего интервала вызвав spacing(). Если вы хотите настроить отдельные интервалы для ваших элементов, вы можете вызвать setItemSpacing(). Коэффициент растяжения в QGraphicsLinearLayoutВы можете назначить коэффициент растяжения каждому элементу чтобы контролировать сколько пространства он получит по сравнению с другими элементами. По умолчанию два одинаковых виджета, упорядоченные в линейном компоновщике, будут иметь одинаковый размер, но если у первого виджета коэффициент растяжения равен 1, а у второго коэффициент растяжения равен 2, первый виджет получит 1/3 доступного пространства, а второй получит 2/3. QGraphicsLinearLayout рассчитывает распределение размеров складывая коэффициенты растяжений всех элементов, а затем деля доступное пространство соответственно. По умолчанию коэффициент растяжения для всех элементов равен 0; коэффициент равный 0 означает что у элемента нет определённого коэффициента расширения; это тоже самое что и установка коэффициента растяжения равным 1. Коэффициент растяжения применяется к доступному пространству только в продольном направлении компоновки (следуя его ориентации). Если вы хотите контролировать и горизонтальное и вертикальной растяжение элементов, вы можете использовать QGraphicsGridLayout. QGraphicsLinearLayout в сравнении с другими компоновщикамиQGraphicsLinearLayout очень похож на QVBoxLayout и QHBoxLayout, но в отличае от этих классов, он используется для управления QGraphicsWidget и QGraphicsLayout вместо QWidget и QLayout. Смотрите также QGraphicsGridLayout и QGraphicsWidget. Описание функций-членовQGraphicsLinearLayout::QGraphicsLinearLayout ( QGraphicsLayoutItem * parent = 0 )Создаёт объект QGraphicsLinearLayout используя ориентацию Qt::Horizontal. parent передаётся в конструктор QGraphicsLayout. QGraphicsLinearLayout::QGraphicsLinearLayout ( Qt::Orientation orientation, QGraphicsLayoutItem * parent = 0 )Создаёт объект QGraphicsLinearLayout. Вы можете передать ориентацию orientation для компоновщика, или горизонтальную, или вертикальную, а parent передаётся в конструктор QGraphicsLayout. QGraphicsLinearLayout::~QGraphicsLinearLayout () [virtual]Уничтожает объект QGraphicsLinearLayout. void QGraphicsLinearLayout::addItem ( QGraphicsLayoutItem * item )Эта вспомогательная функция эквивалентна вызову insertItem(-1, item). void QGraphicsLinearLayout::addStretch ( int stretch = 1 )Эта вспомогательная функция эквивалентна вызову insertStretch(-1, stretch). Qt::Alignment QGraphicsLinearLayout::alignment ( QGraphicsLayoutItem * item ) constВозвращает выравнивание для элемента item. Выравнивание по умолчанию равно Qt::AlignTop | Qt::AlignLeft. Выравнивание определяет как элемент располагается внутри назначенного ему пространства в случае, когда доступно больше пространства, чем он может занять. Смотрите также setAlignment(). int QGraphicsLinearLayout::count () const [virtual]Переопределено из QGraphicsLayout::count(). void QGraphicsLinearLayout::insertItem ( int index, QGraphicsLayoutItem * item )Вставляет элемент item в компоновку на индекс index, или перед любым элементом с индексом index. Смотрите также addItem(), itemAt(), insertStretch() и setItemSpacing(). void QGraphicsLinearLayout::insertStretch ( int index, int stretch = 1 )Вставляет подпорку stretch на индекс index, или перед любым элементом с индексом index. Смотрите также addStretch(), setStretchFactor(), setItemSpacing() и insertItem(). void QGraphicsLinearLayout::invalidate () [virtual]Переопределено из QGraphicsLayout::invalidate(). QGraphicsLayoutItem * QGraphicsLinearLayout::itemAt ( int index ) const [virtual]Переопределено из QGraphicsLayout::itemAt(). При переборе значений начиная с 0 и выше, она возращает элементы в порядке визуального расположения. qreal QGraphicsLinearLayout::itemSpacing ( int index ) constВозвращает интервал после элемента с индексом index. Смотрите также setItemSpacing(). Qt::Orientation QGraphicsLinearLayout::orientation () constВозвращает ориентацию компоновки. Смотрите также setOrientation(). void QGraphicsLinearLayout::removeAt ( int index ) [virtual]Переопределено из QGraphicsLayout::removeAt(). Удаляет элемент с индексом index не уничтожая его. Владение элементом передаётся вызвавшему. Смотрите также removeItem() и insertItem(). void QGraphicsLinearLayout::removeItem ( QGraphicsLayoutItem * item )Удаляет элемент item из компоновки не уничтожая его. Владение элементом item передаётся вызывающему. Смотрите также removeAt() и insertItem(). void QGraphicsLinearLayout::setAlignment ( QGraphicsLayoutItem * item, Qt::Alignment alignment )Устанавливает выравнивание элемента item равным alignment. Если выравнивание элемента item меняется, компоновка автоматически становится негодной. Смотрите также alignment() и invalidate(). void QGraphicsLinearLayout::setGeometry ( const QRectF & rect ) [virtual]Переопределено из QGraphicsLayoutItem::setGeometry(). void QGraphicsLinearLayout::setItemSpacing ( int index, qreal spacing )Устанавливает интервал после элемента с индексом index равным spacing. Смотрите также itemSpacing(). void QGraphicsLinearLayout::setOrientation ( Qt::Orientation orientation )Меняет ориентацию компоновки на orientation. Изменение ориентации компоновщика автоматически признает компоновщик недействительным. Смотрите также orientation(). void QGraphicsLinearLayout::setSpacing ( qreal spacing )Устанавливает интервал компоновщика равным spacing. Интервал относится к вертикальным и горизонтальным промежуткам между элементами. мspacing(), setItemSpacing(), setStretchFactor() и QGraphicsGridLayout::setSpacing(). void QGraphicsLinearLayout::setStretchFactor ( QGraphicsLayoutItem * item, int stretch )Устанавливает коэффициент растяжения элемента item равным stretch. Если коэффициент растяжения элемента меняется, то эта функция признаёт компоновку недействительной. Установка stretch равным 0 удаляет коэффициент растяжения элемента и эквивалентно установке коэффициента растяжения stretch равным 1. Смотрите также stretchFactor(). QSizeF QGraphicsLinearLayout::sizeHint ( Qt::SizeHint which, const QSizeF & constraint = QSizeF() ) const [virtual]Переопределено из QGraphicsLayoutItem::sizeHint(). qreal QGraphicsLinearLayout::spacing () constВозвращает интервал компоновщика. Интервал относится к вертикальным и горизонтальным промежуткам между элементами. Смотрите также setSpacing(). int QGraphicsLinearLayout::stretchFactor ( QGraphicsLayoutItem * item ) constВозвращает коэффициент растяжения элемента item. По умолчанию коэффициент растяжения равен 0, означая что у элемента нет назначенного коэффициента растяжения. Смотрите также setStretchFactor(). |
Попытка перевода Qt документации. Если есть желание присоединиться, или если есть замечания или пожелания, то заходите на форум: Перевод Qt документации на русский язык... Люди внесшие вклад в перевод: Команда переводчиков |