Spec-Zone.ru › Qt 5.6

Класс QLayoutItem

Класс QLayoutItem предоставляет абстрактный элемент, с которым работает QLayout. Подробнее...

Заголовок: #include <QLayoutItem>
qmake: QT += widgets
Наследуется от:

QLayout, QSpacerItem и QWidgetItem

  • Список всех членов, включая унаследованные

Открытые функции

QLayoutItem(Qt::Alignment alignment = Qt::Alignment())
virtual ~QLayoutItem()
Qt::Alignment alignment() const
virtual QSizePolicy::ControlTypes controlTypes() const
virtual Qt::Orientations expandingDirections() const = 0
virtual QRect geometry() const = 0
virtual bool hasHeightForWidth() const
virtual int heightForWidth(int w) const
virtual void invalidate()
virtual bool isEmpty() const = 0
virtual QLayout * layout()
virtual QSize maximumSize() const = 0
virtual int minimumHeightForWidth(int w) const
virtual QSize minimumSize() const = 0
void setAlignment(Qt::Alignment alignment)
virtual void setGeometry(const QRect &r) = 0
virtual QSize sizeHint() const = 0
virtual QSpacerItem * spacerItem()
virtual QWidget * widget()

Подробное описание

Класс QLayoutItem предоставляет абстрактный элемент, с которым работает QLayout.

Используется кастомными макетами.

Предоставляются чистые виртуальные функции для получения информации о макете, включая sizeHint(), minimumSize(), maximumSize() и expanding().

Геометрия макета может быть установлена и получена с помощью setGeometry() и geometry(), а его выравнивание — с помощью setAlignment() и alignment().

isEmpty() возвращает значение true, если элемент макета пустой, иначе false. Если конкретный элемент — QWidget, его можно получить с помощью widget(). Аналогично для layout() и spacerItem().

В некоторых макетах ширина и высота взаимозависимы. Эти зависимости можно выразить с помощью hasHeightForWidth(), heightForWidth() и minimumHeightForWidth(). Более подробную информацию см. в статье Qt Quarterly Trading Height for Width.

См. также QLayout.

Документация по функциям-членам

QLayoutItem::QLayoutItem(Qt::Alignment alignment = Qt::Alignment())

Конструирует элемент макета с выравниванием alignment. Не все подклассы поддерживают выравнивание.

[virtual] QLayoutItem::~QLayoutItem()

Уничтожает QLayoutItem.

Qt::Alignment QLayoutItem::alignment() const

Возвращает выравнивание этого элемента.

См. также setAlignment().

[virtual] QSizePolicy::ControlTypes QLayoutItem::controlTypes() const

Возвращает тип(ы) управления для элемента макета. Для QWidgetItem тип управления берется из политики размера виджета; для QLayoutItem типы управления берутся из содержимого макета.

См. также QSizePolicy::controlType().

[pure virtual] Qt::Orientations QLayoutItem::expandingDirections() const

Возвращает, может ли этот элемент макета использовать больше места, чем sizeHint(). Значение Qt::Vertical или Qt::Horizontal означает, что он хочет расти только в одном измерении, а Qt::Vertical | Qt::Horizontal — что он хочет расти в обоих измерениях.

[pure virtual] QRect QLayoutItem::geometry() const

Возвращает прямоугольник, занимаемый этим элементом макета.

См. также setGeometry().

[virtual] bool QLayoutItem::hasHeightForWidth() const

Возвращает true , если предпочтительная высота этого макета зависит от его ширины; в противном случае возвращает false. По умолчанию возвращает false.

Переопределите эту функцию в менеджерах макетов, которые поддерживают высоту для ширины.

См. также heightForWidth() и QWidget::heightForWidth().

[virtual] int QLayoutItem::heightForWidth(int w) const

Возвращает предпочтительную высоту этого элемента макета при заданной ширине w.

По умолчанию возвращает -1, указывая, что предпочтительная высота не зависит от ширины элемента. Использование функции hasHeightForWidth() обычно намного быстрее, чем вызов этой функции и проверка на -1.

Переопределите эту функцию в менеджерах макетов, которые поддерживают высоту для ширины. Типичная реализация будет выглядеть так:

int MyLayout::heightForWidth(int w) const
{
    if (cache_dirty || cached_width != w) {
        // not all C++ compilers support "mutable"
        MyLayout *that = (MyLayout*)this;
        int h = calculateHeightForWidth(w);
        that->cached_hfw = h;
        return h;
    }
    return cached_hfw;
}

Кэширование настоятельно рекомендуется; без него макет может потребовать экспоненциального времени.

См. также hasHeightForWidth().

[virtual] void QLayoutItem::invalidate()

Обнуляет кэшированную информацию в этом элементе макета.

[pure virtual] bool QLayoutItem::isEmpty() const

Реализовано в подклассах для возврата значения true, если этот элемент пуст, т.е. не содержит виджетов.

[virtual] QLayout *QLayoutItem::layout()

Если этот элемент — QLayout, он возвращается как QLayout; в противном случае возвращается 0. Эта функция предоставляет безопасный по типу ввод.

См. также spacerItem() и widget().

[pure virtual] QSize QLayoutItem::maximumSize() const

Реализовано в подклассах для возврата максимального размера этого элемента.

[virtual] int QLayoutItem::minimumHeightForWidth(int w) const

Возвращает минимальную высоту этого виджета для заданной ширины w. Реализация по умолчанию просто возвращает heightForWidth(w).

[pure virtual] QSize QLayoutItem::minimumSize() const

Реализовано в подклассах для возврата минимального размера этого элемента.

void QLayoutItem::setAlignment(Qt::Alignment alignment)

Устанавливает выравнивание этого элемента по alignment.

Примечание: Выравнивание элемента поддерживается только подклассами QLayoutItem, где это будет иметь визуальный эффект. Кроме QSpacerItem, который обеспечивает пустое пространство для макетов, все публичные классы Qt, унаследованные от QLayoutItem, поддерживают выравнивание элементов.

См. также alignment().

[pure virtual] void QLayoutItem::setGeometry(const QRect &r)

Реализовано в подклассах для установки геометрии этого элемента на r.

См. также geometry().

[pure virtual] QSize QLayoutItem::sizeHint() const

Реализовано в подклассах для возвращения предпочтительного размера этого элемента.

[virtual] QSpacerItem *QLayoutItem::spacerItem()

Если этот элемент является QSpacerItem, он возвращается как QSpacerItem; в противном случае возвращается 0. Эта функция обеспечивает безопасный ввод данных.

См. также layout() и widget().

[virtual] QWidget *QLayoutItem::widget()

Если этот элемент управляет QWidget, возвращает этот виджет. В противном случае возвращается nullptr.

Примечание: Хотя функции layout() и spacerItem() выполняют приведение типов, эта функция возвращает другой объект: QLayout и QSpacerItem наследуют QLayoutItem, а QWidget – нет.

См. также layout() и spacerItem().

© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/archives/qt-5.6/qlayoutitem.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API