Spec-Zone.ru › Qt 6.1

Класс QLayoutItem

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

Заголовок: #include <QLayoutItem>
CMake: find_package(Qt6 COMPONENTS Widgets REQUIRED) target_link_libraries(mytarget PRIVATE Qt6::Widgets)
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) 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() const

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

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

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

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

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

Некоторые макеты имеют взаимозависимости ширины и высоты. Эти зависимости можно выразить с помощью hasHeightForWidth(), heightForWidth() и minimumHeightForWidth(). Более подробная информация представлена в статье Qt Quarterly Торговля высотой на ширину.

См. также QLayout.

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

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

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

QLayoutItem::~QLayoutItem()

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

Qt::Alignment QLayoutItem::alignment() const

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

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

QSizePolicy::ControlTypes QLayoutItem::controlTypes() const

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

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

Qt::Orientations QLayoutItem::expandingDirections() const

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

QRect QLayoutItem::geometry() const

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

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

bool QLayoutItem::hasHeightForWidth() const

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

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

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

int QLayoutItem::heightForWidth(int) const

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

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

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

int MyLayout::heightForWidth(int w) const
{
    if (cache_dirty || cached_width != w) {
        MyLayout *that = const_cast<MyLayout *>(this);
        int h = calculateHeightForWidth(w);
        that->cached_hfw = h;
        return h;
    }
    return cached_hfw;
}

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

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

void QLayoutItem::invalidate()

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

bool QLayoutItem::isEmpty() const

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

QLayout *QLayoutItem::layout()

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

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

QSize QLayoutItem::maximumSize() const

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

int QLayoutItem::minimumHeightForWidth(int w) const

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

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; в противном случае nullptr возвращается. Эта функция предоставляет безопасный приведение типов.

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

[virtual] QWidget *QLayoutItem::widget() const

Если этот элемент управляет 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/qt-6.1/qlayoutitem.html

Spec-Zone.ru

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