CopperSpice API  1.7.2
QGraphicsGridLayout Class Reference

The QGraphicsGridLayout class provides a grid layout for managing widgets in Graphics View. More...

Inheritance diagram for QGraphicsGridLayout:
QGraphicsLayout QGraphicsLayoutItem

Public Methods

 QGraphicsGridLayout (QGraphicsLayoutItem *parent=nullptr)
 
virtual ~QGraphicsGridLayout ()
 
void addItem (QGraphicsLayoutItem *item, int row, int column, int rowSpan, int columnSpan, Qt::Alignment alignment=Qt::Alignment ())
 
void addItem (QGraphicsLayoutItem *item, int row, int column, Qt::Alignment alignment=Qt::Alignment ())
 
Qt::Alignment alignment (QGraphicsLayoutItem *item) const
 
Qt::Alignment columnAlignment (int column) const
 
int columnCount () const
 
qreal columnMaximumWidth (int column) const
 
qreal columnMinimumWidth (int column) const
 
qreal columnPreferredWidth (int column) const
 
qreal columnSpacing (int column) const
 
int columnStretchFactor (int column) const
 
int count () const override
 
qreal horizontalSpacing () const
 
void invalidate () override
 
QGraphicsLayoutItemitemAt (int index) const override
 
QGraphicsLayoutItemitemAt (int row, int column) const
 
void removeAt (int index) override
 
void removeItem (QGraphicsLayoutItem *item)
 
Qt::Alignment rowAlignment (int row) const
 
int rowCount () const
 
qreal rowMaximumHeight (int row) const
 
qreal rowMinimumHeight (int row) const
 
qreal rowPreferredHeight (int row) const
 
qreal rowSpacing (int row) const
 
int rowStretchFactor (int row) const
 
void setAlignment (QGraphicsLayoutItem *item, Qt::Alignment alignment)
 
void setColumnAlignment (int column, Qt::Alignment alignment)
 
void setColumnFixedWidth (int column, qreal width)
 
void setColumnMaximumWidth (int column, qreal width)
 
void setColumnMinimumWidth (int column, qreal width)
 
void setColumnPreferredWidth (int column, qreal width)
 
void setColumnSpacing (int column, qreal spacing)
 
void setColumnStretchFactor (int column, int stretch)
 
void setGeometry (const QRectF &rect) override
 
void setHorizontalSpacing (qreal spacing)
 
void setRowAlignment (int row, Qt::Alignment alignment)
 
void setRowFixedHeight (int row, qreal height)
 
void setRowMaximumHeight (int row, qreal height)
 
void setRowMinimumHeight (int row, qreal height)
 
void setRowPreferredHeight (int row, qreal height)
 
void setRowSpacing (int row, qreal spacing)
 
void setRowStretchFactor (int row, int stretch)
 
void setSpacing (qreal spacing)
 
void setVerticalSpacing (qreal spacing)
 
QSizeF sizeHint (Qt::SizeHint which, const QSizeF &constraint=QSizeF ()) const override
 
qreal verticalSpacing () const
 
- Public Methods inherited from QGraphicsLayout
 QGraphicsLayout (QGraphicsLayoutItem *parent=nullptr)
 
 ~QGraphicsLayout ()
 
void activate ()
 
void getContentsMargins (qreal *left, qreal *top, qreal *right, qreal *bottom) const override
 
bool isActivated () const
 
void setContentsMargins (qreal left, qreal top, qreal right, qreal bottom)
 
void updateGeometry () override
 
virtual void widgetEvent (QEvent *event)
 
- Public Methods inherited from QGraphicsLayoutItem
 QGraphicsLayoutItem (QGraphicsLayoutItem *parent=nullptr, bool isLayout=false)
 
virtual ~QGraphicsLayoutItem ()
 
QRectF contentsRect () const
 
QSizeF effectiveSizeHint (Qt::SizeHint which, const QSizeF &constraint=QSizeF ()) const
 
QRectF geometry () const
 
QGraphicsItemgraphicsItem () const
 
bool isLayout () const
 
qreal maximumHeight () const
 
QSizeF maximumSize () const
 
qreal maximumWidth () const
 
qreal minimumHeight () const
 
QSizeF minimumSize () const
 
qreal minimumWidth () const
 
bool ownedByLayout () const
 
QGraphicsLayoutItem * parentLayoutItem () const
 
qreal preferredHeight () const
 
QSizeF preferredSize () const
 
qreal preferredWidth () const
 
void setMaximumHeight (qreal height)
 
void setMaximumSize (const QSizeF &size)
 
void setMaximumSize (qreal w, qreal h)
 
void setMaximumWidth (qreal width)
 
void setMinimumHeight (qreal height)
 
void setMinimumSize (const QSizeF &size)
 
void setMinimumSize (qreal w, qreal h)
 
void setMinimumWidth (qreal width)
 
void setParentLayoutItem (QGraphicsLayoutItem *parent)
 
void setPreferredHeight (qreal height)
 
void setPreferredSize (const QSizeF &size)
 
void setPreferredSize (qreal w, qreal h)
 
void setPreferredWidth (qreal width)
 
void setSizePolicy (const QSizePolicy &policy)
 
void setSizePolicy (QSizePolicy::Policy hPolicy, QSizePolicy::Policy vPolicy, QSizePolicy::ControlType controlType=QSizePolicy::DefaultType)
 
QSizePolicy sizePolicy () const
 

Additional Inherited Members

- Static Public Methods inherited from QGraphicsLayout
static bool instantInvalidatePropagation ()
 
static void setInstantInvalidatePropagation (bool enable)
 
- Protected Methods inherited from QGraphicsLayout
void addChildLayoutItem (QGraphicsLayoutItem *layoutItem)
 
- Protected Methods inherited from QGraphicsLayoutItem
void setGraphicsItem (QGraphicsItem *item)
 
void setOwnedByLayout (bool owner)
 

Detailed Description

The QGraphicsGridLayout class provides a grid layout for managing widgets in Graphics View.

The most common way to use QGraphicsGridLayout is to construct an object on the heap with no parent, add widgets and layouts by calling addItem(), and finally assign the layout to a widget by calling QGraphicsWidget::setLayout(). QGraphicsGridLayout automatically computes the dimensions of the grid as you add items.

QGraphicsWidget *textEdit = scene.addWidget(new QTextEdit);
QGraphicsWidget *pushButton = scene.addWidget(new QPushButton);
layout->addItem(textEdit, 0, 0);
layout->addItem(pushButton, 0, 1);
form->setLayout(layout);
scene.addItem(form);

The layout takes ownership of the items. In some cases when the layout item also inherits from QGraphicsItem (such as QGraphicsWidget) there will be an ambiguity in ownership because the layout item belongs to two ownership hierarchies. See the documentation of QGraphicsLayoutItem::setOwnedByLayout() how to handle this. You can access each item in the layout by calling count() and itemAt(). Calling removeAt() will remove an item from the layout, without destroying it.

Size Hints and Size Policies in QGraphicsGridLayout

QGraphicsGridLayout respects each item's size hints and size policies, and when a cell in the grid has more space than the items can fill, each item is arranged according to the layout's alignment for that item. You can set an alignment for each item by calling setAlignment(), and check the alignment for any item by calling alignment(). You can also set the alignment for an entire row or column by calling setRowAlignment() and setColumnAlignment() respectively. By default, items are aligned to the top left.

See also
QGraphicsLinearLayout, QGraphicsWidget

Constructor & Destructor Documentation

QGraphicsGridLayout::QGraphicsGridLayout ( QGraphicsLayoutItem parent = nullptr)

Constructs a QGraphicsGridLayout instance. The parent is passed to QGraphicsLayout's constructor.

QGraphicsGridLayout::~QGraphicsGridLayout ( )
virtual

Destroys the QGraphicsGridLayout object.

Method Documentation

void QGraphicsGridLayout::addItem ( QGraphicsLayoutItem item,
int  row,
int  column,
int  rowSpan,
int  columnSpan,
Qt::Alignment  alignment = Qt::Alignment() 
)

Adds item to the grid on row and column. You can specify a rowSpan and columnSpan and an optional alignment.

void QGraphicsGridLayout::addItem ( QGraphicsLayoutItem item,
int  row,
int  column,
Qt::Alignment  alignment = Qt::Alignment() 
)
inline

Adds item to the grid on row and column. You can specify an optional alignment for item.

Qt::Alignment QGraphicsGridLayout::alignment ( QGraphicsLayoutItem item) const

Returns the alignment for item.

See also
setAlignment()
Qt::Alignment QGraphicsGridLayout::columnAlignment ( int  column) const

Returns the alignment for column.

See also
setColumnAlignment()
int QGraphicsGridLayout::columnCount ( ) const

Returns the number of columns in the grid layout. This is always one more than the index of the last column that is occupied by a layout item (empty columns are counted except for those at the end).

qreal QGraphicsGridLayout::columnMaximumWidth ( int  column) const

Returns the maximum width for column.

See also
setColumnMaximumWidth()
qreal QGraphicsGridLayout::columnMinimumWidth ( int  column) const

Returns the minimum width for column.

See also
setColumnMinimumWidth()
qreal QGraphicsGridLayout::columnPreferredWidth ( int  column) const

Returns the preferred width for column.

See also
setColumnPreferredWidth()
qreal QGraphicsGridLayout::columnSpacing ( int  column) const

Returns the column spacing for column.

See also
setColumnSpacing()
int QGraphicsGridLayout::columnStretchFactor ( int  column) const

Returns the stretch factor for column.

See also
setColumnStretchFactor()
int QGraphicsGridLayout::count ( ) const
overridevirtual

Reimplemented from QGraphicsLayout::count().

Returns the number of layout items in this grid layout.

Implements QGraphicsLayout.

qreal QGraphicsGridLayout::horizontalSpacing ( ) const

Returns the default horizontal spacing for the grid layout.

See also
setHorizontalSpacing()
void QGraphicsGridLayout::invalidate ( )
overridevirtual

Reimplemented from QGraphicsLayout::invalidate().

Reimplemented from QGraphicsLayout.

QGraphicsLayoutItem * QGraphicsGridLayout::itemAt ( int  index) const
overridevirtual

Reimplemented from QGraphicsLayout::itemAt().

Returns the layout item at index, or 0 if there is no layout item at this index.

Implements QGraphicsLayout.

QGraphicsLayoutItem * QGraphicsGridLayout::itemAt ( int  row,
int  column 
) const

Returns a pointer to the layout item at (row, column).

void QGraphicsGridLayout::removeAt ( int  index)
overridevirtual

Reimplemented from QGraphicsLayout::removeAt().

Removes the layout item at index without destroying it. Ownership of the item is transferred to the caller.

See also
addItem()

Implements QGraphicsLayout.

void QGraphicsGridLayout::removeItem ( QGraphicsLayoutItem item)

Removes the layout item item without destroying it. Ownership of the item is transferred to the caller.

See also
addItem()
Qt::Alignment QGraphicsGridLayout::rowAlignment ( int  row) const

Returns the alignment of row.

See also
setRowAlignment()
int QGraphicsGridLayout::rowCount ( ) const

Returns the number of rows in the grid layout. This is always one more than the index of the last row that is occupied by a layout item (empty rows are counted except for those at the end).

qreal QGraphicsGridLayout::rowMaximumHeight ( int  row) const

Returns the maximum height for row, row.

See also
setRowMaximumHeight()
qreal QGraphicsGridLayout::rowMinimumHeight ( int  row) const

Returns the minimum height for row, row.

See also
setRowMinimumHeight()
qreal QGraphicsGridLayout::rowPreferredHeight ( int  row) const

Returns the preferred height for row, row.

See also
setRowPreferredHeight()
qreal QGraphicsGridLayout::rowSpacing ( int  row) const

Returns the row spacing for row.

See also
setRowSpacing()
int QGraphicsGridLayout::rowStretchFactor ( int  row) const

Returns the stretch factor for row.

See also
setRowStretchFactor()
void QGraphicsGridLayout::setAlignment ( QGraphicsLayoutItem item,
Qt::Alignment  alignment 
)

Sets the alignment for item to alignment.

See also
alignment()
void QGraphicsGridLayout::setColumnAlignment ( int  column,
Qt::Alignment  alignment 
)

Sets the alignment for column to alignment.

See also
columnAlignment()
void QGraphicsGridLayout::setColumnFixedWidth ( int  column,
qreal  width 
)

Sets the fixed width of column to width.

void QGraphicsGridLayout::setColumnMaximumWidth ( int  column,
qreal  width 
)

Sets the maximum width of column to width.

See also
columnMaximumWidth()
void QGraphicsGridLayout::setColumnMinimumWidth ( int  column,
qreal  width 
)

Sets the minimum width for column to width.

See also
columnMinimumWidth()
void QGraphicsGridLayout::setColumnPreferredWidth ( int  column,
qreal  width 
)

Sets the preferred width for column to width.

See also
columnPreferredWidth()
void QGraphicsGridLayout::setColumnSpacing ( int  column,
qreal  spacing 
)

Sets the spacing for column to spacing.

See also
columnSpacing()
void QGraphicsGridLayout::setColumnStretchFactor ( int  column,
int  stretch 
)

Sets the stretch factor for column to stretch.

See also
columnStretchFactor()
void QGraphicsGridLayout::setGeometry ( const QRectF rect)
overridevirtual

Reimplemented from QGraphicsLayoutItem::setGeometry().

Sets the bounding geometry of the grid layout to rect.

Reimplemented from QGraphicsLayoutItem.

void QGraphicsGridLayout::setHorizontalSpacing ( qreal  spacing)

Sets the default horizontal spacing for the grid layout to spacing.

See also
horizontalSpacing()
void QGraphicsGridLayout::setRowAlignment ( int  row,
Qt::Alignment  alignment 
)

Sets the alignment of row to alignment.

See also
rowAlignment()
void QGraphicsGridLayout::setRowFixedHeight ( int  row,
qreal  height 
)

Sets the fixed height for row, row, to height.

void QGraphicsGridLayout::setRowMaximumHeight ( int  row,
qreal  height 
)

Sets the maximum height for row, row, to height.

See also
rowMaximumHeight()
void QGraphicsGridLayout::setRowMinimumHeight ( int  row,
qreal  height 
)

Sets the minimum height for row, row, to height.

See also
rowMinimumHeight()
void QGraphicsGridLayout::setRowPreferredHeight ( int  row,
qreal  height 
)

Sets the preferred height for row, row, to height.

See also
rowPreferredHeight()
void QGraphicsGridLayout::setRowSpacing ( int  row,
qreal  spacing 
)

Sets the spacing for row to spacing.

See also
rowSpacing()
void QGraphicsGridLayout::setRowStretchFactor ( int  row,
int  stretch 
)

Sets the stretch factor for row to stretch.

See also
rowStretchFactor()
void QGraphicsGridLayout::setSpacing ( qreal  spacing)

Sets the grid layout's default spacing, both vertical and horizontal, to spacing.

See also
rowSpacing(), columnSpacing()
void QGraphicsGridLayout::setVerticalSpacing ( qreal  spacing)

Sets the default vertical spacing for the grid layout to spacing.

See also
verticalSpacing()
QSizeF QGraphicsGridLayout::sizeHint ( Qt::SizeHint  which,
const QSizeF constraint = QSizeF() 
) const
overridevirtual

Reimplemented from QGraphicsLayoutItem::sizeHint().

Implements QGraphicsLayoutItem.

qreal QGraphicsGridLayout::verticalSpacing ( ) const

Returns the default vertical spacing for the grid layout.

See also
setVerticalSpacing()