|  | Home · All Classes · Main Classes · Annotated · Grouped Classes · Functions |

# QSize Class Reference

The QSize class defines the size of a two-dimensional object. More...

    #include <QSize>

Part of the QtCore module.

- List of all members, including inherited members

### Public Functions

- QSize ()
- QSize ( int w, int h )
- QSize boundedTo ( const QSize & otherSize ) const
- QSize expandedTo ( const QSize & otherSize ) const
- int height () const
- bool isEmpty () const
- bool isNull () const
- bool isValid () const
- int & rheight ()
- int & rwidth ()
- void scale ( int w, int h, Qt::AspectRatioMode mode )
- void scale ( const QSize & s, Qt::AspectRatioMode mode )
- void setHeight ( int h )
- void setWidth ( int w )
- void transpose ()
- int width () const
- QSize & operator*= ( qreal coeff )
- QSize & operator+= ( const QSize & s )
- QSize & operator-= ( const QSize & s )
- QSize & operator/= ( qreal coeff )

### Related Non-Members

- bool operator!= ( const QSize & s1, const QSize & s2 )
- const QSize operator* ( const QSize & size, qreal coeff )
- const QSize operator* ( qreal coeff, const QSize & size )
- const QSize operator+ ( const QSize & s1, const QSize & s2 )
- const QSize operator- ( const QSize & s1, const QSize & s2 )
- const QSize operator/ ( const QSize & size, qreal divisor )
- QDataStream & operator<< ( QDataStream & s, const QSize & sz )
- bool operator== ( const QSize & s1, const QSize & s2 )
- QDataStream & operator>> ( QDataStream & s, QSize & sz )

## Detailed Description

The QSize class defines the size of a two-dimensional object.

A size is specified by a width and a height.

The size can be set in the constructor and changed with setWidth(), setHeight(), or scale(), or using operator+=(), operator-=(), operator*=() and operator/=(), etc. You can swap the width and height with transpose(). You can get a size which holds the maximum height and width of two sizes using expandedTo(), and the minimum height and width of two sizes using boundedTo().

See also QPoint and QRect.

## Member Function Documentation

### QSize::QSize ()

Constructs a size with invalid width and height.

See also isValid(), setWidth(), and setHeight().

### QSize::QSize ( int w, int h )

Constructs a size with width w and height h.

### QSize QSize::boundedTo ( const QSize & otherSize ) const

Returns a size with the minimum width and height of this size and otherSize.

See also expandedTo(), scale(), setWidth(), and setHeight().

### QSize QSize::expandedTo ( const QSize & otherSize ) const

Returns a size with the maximum width and height of this size and otherSize.

See also boundedTo(), scale(), setWidth(), and setHeight().

### int QSize::height () const

Returns the height.

See also width().

### bool QSize::isEmpty () const

Returns true if the width is less than or equal to 0, or the height is less than or equal to 0; otherwise returns false.

See also isNull(), isValid(), width(), and height().

### bool QSize::isNull () const

Returns true if the width is 0 and the height is 0; otherwise returns false.

See also isValid(), isEmpty(), width(), and height().

### bool QSize::isValid () const

Returns true if the width is equal to or greater than 0 and the height is equal to or greater than 0; otherwise returns false.

See also isNull(), isEmpty(), width(), and height().

### int & QSize::rheight ()

Returns a reference to the height.

Using a reference makes it possible to directly manipulate the height.

Example:

        QSize s(100, 10);
        s.rheight() += 5;                // s becomes (100,15)

See also rwidth() and setHeight().

### int & QSize::rwidth ()

Returns a reference to the width.

Using a reference makes it possible to directly manipulate the width.

Example:

        QSize s(100, 10);
        s.rwidth() += 20;                // s becomes (120,10)

See also rheight() and setWidth().

### void QSize::scale ( int w, int h, Qt::AspectRatioMode mode )

Scales the size to a rectangle of width w and height h according to the Qt::AspectRatioMode mode.

- If mode is `Qt::IgnoreAspectRatio`, the size is set to (w, h).
- If mode is `Qt::KeepAspectRatio`, the current size is scaled to a rectangle as large as possible inside (w, h), preserving the aspect ratio.
- If mode is `Qt::KeepAspectRatioByExpanding`, the current size is scaled to a rectangle as small as possible outside (w, h), preserving the aspect ratio.

Example:

        QSize t1(10, 12);
        t1.scale(60, 60, QSize::IgnoreAspectRatio);
        // t1 is (60, 60)

        QSize t2(10, 12);
        t2.scale(60, 60, QSize::KeepAspectRatio);
        // t2 is (50, 60)

        QSize t3(10, 12);
        t3.scale(60, 60, QSize::KeepAspectRatioByExpanding);
        // t3 is (60, 72)

See also boundedTo(), expandedTo(), setWidth(), and setHeight().

### void QSize::scale ( const QSize & s, Qt::AspectRatioMode mode )

This is an overloaded member function, provided for convenience. It behaves essentially like the above function.

Equivalent to scale(s.width(), s.height(), mode).

### void QSize::setHeight ( int h )

Sets the height to h.

See also height(), setWidth(), expandedTo(), boundedTo(), scale(), and transpose().

### void QSize::setWidth ( int w )

Sets the width to w.

See also width(), setHeight(), expandedTo(), boundedTo(), scale(), and transpose().

### void QSize::transpose ()

Swaps the width and height values.

See also expandedTo(), boundedTo(), setWidth(), and setHeight().

### int QSize::width () const

Returns the width.

See also height().

### QSize & QSize::operator*= ( qreal coeff )

Multiplies both the width and height by coeff and returns a reference to the size.

Note that the result is truncated.

### QSize & QSize::operator+= ( const QSize & s )

Adds s to the size and returns a reference to this size.

Example:

        QSize s( 3, 7);
        QSize r(-1, 4);
        s += r;                        // s becomes (2,11)

### QSize & QSize::operator-= ( const QSize & s )

Subtracts s from the size and returns a reference to this size.

Example:

        QSize s( 3, 7);
        QSize r(-1, 4);
        s -= r;                        // s becomes (4,3)

### QSize & QSize::operator/= ( qreal coeff )

Divides both the width and height by coeff and returns a reference to the size.

Note that the result is truncated.

See also QSize::scale().

## Related Non-Members

### bool operator!= ( const QSize & s1, const QSize & s2 )

This is an overloaded member function, provided for convenience. It behaves essentially like the above function.

Returns true if s1 and s2 are different; otherwise returns false.

### const QSize operator* ( const QSize & size, qreal coeff )

This is an overloaded member function, provided for convenience. It behaves essentially like the above function.

Multiplies size by coeff and returns the result.

See also QSize::scale().

### const QSize operator* ( qreal coeff, const QSize & size )

This is an overloaded member function, provided for convenience. It behaves essentially like the above function.

Multiplies size by coeff and returns the result.

See also QSize::scale().

### const QSize operator+ ( const QSize & s1, const QSize & s2 )

This is an overloaded member function, provided for convenience. It behaves essentially like the above function.

Returns the sum of s1 and s2; each component is added separately.

See also QSize::scale().

### const QSize operator- ( const QSize & s1, const QSize & s2 )

This is an overloaded member function, provided for convenience. It behaves essentially like the above function.

Returns s2 subtracted from s1; each component is subtracted separately.

See also QSize::scale().

### const QSize operator/ ( const QSize & size, qreal divisor )

This is an overloaded member function, provided for convenience. It behaves essentially like the above function.

Divides size by divisor and returns the result.

Note that the result is truncated.

See also QSize::scale().

### QDataStream & operator<< ( QDataStream & s, const QSize & sz )

This is an overloaded member function, provided for convenience. It behaves essentially like the above function.

Writes the size sz to the stream s and returns a reference to the stream.

See also Format of the QDataStream operators.

### bool operator== ( const QSize & s1, const QSize & s2 )

This is an overloaded member function, provided for convenience. It behaves essentially like the above function.

Returns true if s1 and s2 are equal; otherwise returns false.

### QDataStream & operator>> ( QDataStream & s, QSize & sz )

This is an overloaded member function, provided for convenience. It behaves essentially like the above function.

Reads the size from the stream s into size sz and returns a reference to the stream.

See also Format of the QDataStream operators.