Qt Toolkit - QLayoutItem Class

| Classes - Annotated - Tree - Functions - Home - Structure

# QLayoutItem Class Reference

The abstract items which a QLayout manipulates. More...

`#include <qabstractlayout.h>`

Inherited by QLayout, QSpacerItem and QWidgetItem.

List of all member functions.

## Public Members

- QLayoutItem ( int alignment = 0 )
- virtual ~QLayoutItem ()
- virtual QSize sizeHint () const
- virtual QSize minimumSize () const
- virtual QSize maximumSize () const
- virtual QSizePolicy::ExpandData expanding () const
- virtual void setGeometry ( const QRect & )
- virtual QRect geometry () const
- virtual bool isEmpty () const
- virtual bool hasHeightForWidth () const
- virtual int heightForWidth ( int ) const
- virtual void invalidate ()
- virtual QWidget* widget ()
- virtual QLayoutIterator iterator ()
- virtual QLayout* layout ()
- virtual QSpacerItem* spacerItem ()
- int alignment () const
- virtual void setAlignment ( int a )

## Detailed Description

The abstract items which a QLayout manipulates.

For custom layouts.

See also QLayout.

## Member Function Documentation

### QLayoutItem::QLayoutItem ( int alignment = 0 )

Constructs a layout item with an alignment that is a bitwise OR of Qt::AlignmentFlags. Alignment may not be supported by all subclasses.

### QLayoutItem::~QLayoutItem () `[virtual]`

Destructs the QLayoutItem.

### int QLayoutItem::alignment () const

Returns the alignment of this item.

### QSizePolicy::ExpandData QLayoutItem::expanding() const `[virtual]`

Implemented in subclasses to return whether this item "wants" to expand.

Reimplemented in QSpacerItem, QWidgetItem, QBoxLayout, QGridLayout and QLayout.

### QRect QLayoutItem::geometry () const `[virtual]`

Returns the rectangle covered by this layout item.

Reimplemented in QWidgetItem, QLayout and QSpacerItem.

### bool QLayoutItem::hasHeightForWidth () const `[virtual]`

Returns TRUE if this layout's preferred height depends on its width. The default implementation returns FALSE;

Reimplement this function in layout managers that support height for width.

See also heightForWidth() and QWidget::heightForWidth().

Reimplemented in QBoxLayout, QGridLayout and QWidgetItem.

### int QLayoutItem::heightForWidth ( int ) const `[virtual]`

Returns the preferred height for this layout item, given the width w.

The default implementation returns -1, indicating that the preferred height is independent of the width of the item. Using the function hasHeightForWidth() will typically be much faster than calling this function and testing for -1.

Reimplement this function in layout managers that support height for width. A typical implementation will look like this:

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

Caching is strongly recommended, without it layout will take exponential time.

See also hasHeightForWidth().

Reimplemented in QGridLayout, QWidgetItem and QBoxLayout.

### void QLayoutItem::invalidate () `[virtual]`

Invalidates any cached information in this layout item.

Reimplemented in QBoxLayout, QLayout and QGridLayout.

### virtual bool QLayoutItem::isEmpty () const `[virtual]`

Implemented in subclasses to return whether this item is empty, i.e. whether it contains any widgets.

Reimplemented in QLayout, QWidgetItem and QSpacerItem.

### QLayoutIterator QLayoutItem::iterator () `[virtual]`

Returns an iterator over this item's QLayoutItem children. The default implementation returns an empty iterator.

Reimplement this function in subclasses that can have children.

Reimplemented in QGridLayout, QLayout and QBoxLayout.

### QLayout * QLayoutItem::layout () `[virtual]`

If this item is a QLayout, return it as a QLayout, otherwise return 0. This function provides type-safe casting.

Reimplemented in QLayout.

### QSize QLayoutItem::maximumSize () const `[virtual]`

Implemented in subclasses to return the maximum size of this item.

Reimplemented in QLayout, QSpacerItem, QGridLayout, QWidgetItem and QBoxLayout.

### QSize QLayoutItem::minimumSize () const `[virtual]`

Implemented in subclasses to return the minimum size of this item.

Reimplemented in QSpacerItem, QGridLayout, QBoxLayout, QLayout and QWidgetItem.

### void QLayoutItem::setAlignment ( int a ) `[virtual]`

Sets the alignment of this item to a, which is a bitwise OR of Qt::AlignmentFlags.

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

Implemented in subclasses to set this item's geometry to r.

Reimplemented in QWidgetItem, QBoxLayout, QGridLayout, QLayout and QSpacerItem.

### QSize QLayoutItem::sizeHint () const `[virtual]`

Implemented in subclasses to return the preferred size of this item.

Reimplemented in QWidgetItem, QBoxLayout, QSpacerItem and QGridLayout.

### QSpacerItem * QLayoutItem::spacerItem () `[virtual]`

If this item is a QSpacerItem, return it as a QSpacerItem, otherwise return 0. This function provides type-safe casting.

Reimplemented in QSpacerItem.

### QWidget * QLayoutItem::widget () `[virtual]`

If this item is a QWidgetItem, the managed widget is returned. The default implementation returns 0;.

Search the documentation, FAQ, qt-interest archive and more (uses www.trolltech.com):

This file is part of the Qt toolkit, copyright © 1995-2000 Trolltech, all rights reserved.