このページでは

QRect Class

QRect クラスは、整数精度を用いて平面上の矩形を定義します。詳細...

ヘッダー: #include <QRect>
CMake: find_package(Qt6 REQUIRED COMPONENTS Core)
target_link_libraries(mytarget PRIVATE Qt6::Core)
qmake: QT += core

注:このクラスのすべての関数は再入可能である。

QRect の比較

カテゴリ比較可能な型
等価QRect
等価性QRectF.

パブリック関数

QRect()
QRect(const QPoint &topLeft, const QPoint &bottomRight)
QRect(const QPoint &topLeft, const QSize &size)
QRect(int x, int y, int width, int height)
void adjust(int dx1, int dy1, int dx2, int dy2)
QRect adjusted(int dx1, int dy1, int dx2, int dy2) const
int bottom() const
QPoint bottomLeft() const
QPoint bottomRight() const
QPoint center() const
bool contains(const QPoint &point, bool proper = false) const
bool contains(const QRect &rectangle, bool proper = false) const
bool contains(int x, int y) const
bool contains(int x, int y, bool proper) const
void getCoords(int *x1, int *y1, int *x2, int *y2) const
void getRect(int *x, int *y, int *width, int *height) const
int height() const
QRect intersected(const QRect &rectangle) const
bool intersects(const QRect &rectangle) const
bool isEmpty() const
bool isNull() const
bool isValid() const
int left() const
QRect marginsAdded(const QMargins &margins) const
QRect marginsRemoved(const QMargins &margins) const
void moveBottom(int y)
void moveBottomLeft(const QPoint &position)
void moveBottomRight(const QPoint &position)
void moveCenter(const QPoint &position)
void moveLeft(int x)
void moveRight(int x)
void moveTo(const QPoint &position)
void moveTo(int x, int y)
void moveTop(int y)
void moveTopLeft(const QPoint &position)
void moveTopRight(const QPoint &position)
QRect normalized() const
int right() const
void setBottom(int y)
void setBottomLeft(const QPoint &position)
void setBottomRight(const QPoint &position)
void setCoords(int x1, int y1, int x2, int y2)
void setHeight(int height)
void setLeft(int x)
void setRect(int x, int y, int width, int height)
void setRight(int x)
void setSize(const QSize &size)
void setTop(int y)
void setTopLeft(const QPoint &position)
void setTopRight(const QPoint &position)
void setWidth(int width)
void setX(int x)
void setY(int y)
QSize size() const
CGRect toCGRect() const
(since 6.4) QRectF toRectF() const
int top() const
QPoint topLeft() const
QPoint topRight() const
void translate(int dx, int dy)
void translate(const QPoint &offset)
QRect translated(int dx, int dy) const
QRect translated(const QPoint &offset) const
QRect transposed() const
QRect united(const QRect &rectangle) const
int width() const
int x() const
int y() const
QRect operator&(const QRect &rectangle) const
QRect &operator&=(const QRect &rectangle)
QRect &operator+=(const QMargins &margins)
QRect &operator-=(const QMargins &margins)
QRect operator|(const QRect &rectangle) const
QRect &operator|=(const QRect &rectangle)

静的パブリックメンバー

(since 6.0) QRect span(const QPoint &p1, const QPoint &p2)
bool operator!=(const QRect &lhs, const QRect &rhs)
QRect operator+(const QRect &rectangle, const QMargins &margins)
QRect operator+(const QMargins &margins, const QRect &rectangle)
QRect operator-(const QRect &lhs, const QMargins &rhs)
QDataStream &operator<<(QDataStream &stream, const QRect &rectangle)
bool operator==(const QRect &lhs, const QRect &rhs)
QDataStream &operator>>(QDataStream &stream, QRect &rectangle)

詳細な説明

矩形は通常、左上隅とサイズによって表現されます。QRectのサイズ(幅と高さ)は、そのレンダリングの基礎となる数学的な矩形と常に等価です。

QRect は、左座標、上座標、幅、高さの整数のセット、あるいは `QPoint ` および `QSize` から生成することができます。以下のコードは、2 つの同一の長方形を作成します。

QRect r1(100, 200, 11, 16);
QRect r2(QPoint(100, 200), QSize(11, 16));

左上隅と右下隅の座標を使用して QRect を作成する 3 つ目のコンストラクタもありますが、その使用は避けることをお勧めします。その理由は、歴史的な経緯により、bottom() およびright() 関数が返す値が、矩形の真の右下隅からずれが生じているためです。

QRect クラスは、矩形のさまざまな座標を返す一連の関数を提供しており、これらを操作することが可能です。 また、QRect クラスは、さまざまな座標を基準として矩形を移動させる関数も提供しています。さらに、moveTo() 関数を使用すると、矩形の左上隅を指定された座標に固定したまま、矩形全体を移動させることができます。あるいは、translate() 関数を使用すると、現在の位置を基準として指定されたオフセット分だけ矩形を移動させることができ、translated() 関数を使用すると、この移動後の矩形のコピーを取得できます。

size() 関数は、矩形の寸法を `QSize` として返します。寸法は、width() およびheight() 関数を使用して個別に取得することもできます。寸法を操作するには、setSize()、setWidth()、またはsetHeight() 関数を使用します。あるいは、setBottom() やsetRight() など、矩形の座標を設定する関数のいずれかを適用することで、サイズを変更することもできます。

contains() 関数は、指定された点が矩形の内側にあるかどうかを判定し、intersects() 関数は、この矩形が指定された矩形と交差する場合にtrue を返します。QRect クラスは、交差する矩形を返すintersected() 関数や、指定された矩形とこの矩形を囲む矩形を返すunited() 関数も提供しています:

isEmpty()関数は、left() >right() またはtop() >bottom() の場合に、true を返します。空の矩形は無効であることに注意してください。isValid()関数は、left() <=right()かつ top() <=bottom() の場合に、true を返します。一方、null矩形(isNull() == true)は、幅と高さの両方が0に設定されています。

なお、QRectおよびQRectF の定義方法により、空のQRectは本質的にQRectF と同様に定義されています。

最後に、QRect オブジェクトは、比較だけでなくストリーミングも可能です。

レンダリング

anti-aliased ペインタを使用する場合、QRect の境界線は、数学的な長方形の境界線の両側に対称的に描画されます。しかし、エイリアス付きペインタ(デフォルト)を使用する場合は、別のルールが適用されます。

その場合、幅 1 ピクセルのペンで描画すると、QRect の境界線は、数学的な長方形の境界線の右側および下側に描画されます。

幅2ピクセルのペンでレンダリングする場合、境界線は数学的な矩形によって中央で分割されます。これは、ペンの幅が偶数ピクセルに設定されている場合は常に発生します。一方、奇数ピクセルのペンでレンダリングする場合、余分な1ピクセルは、1ピクセルの場合と同様に、数学的な矩形の右側および下側にレンダリングされます。

幅と高さの寸法が表示された長方形1ピクセルのペンで描かれた、角の座標が表示された長方形
論理的な表現幅1ピクセルのペン
2ピクセルのペンで描かれた、角の座標が表示された長方形3ピクセルのペンで描かれた、角の座標が表示された長方形
幅2ピクセルのペン3ピクセル幅のペン

座標

QRect クラスは、さまざまな矩形の座標を返す一連の関数を提供し、これらの座標の操作を可能にします。また、QRect は、さまざまな座標系に対して矩形を移動させるための関数も提供します。

例えば、left()、setLeft()、moveLeft() といった関数があります。left() は長方形の左端の x 座標を返し、setLeft() は、矩形の左端を指定された x 座標に設定します(幅が変わる可能性がありますが、矩形の右端が変わることはありません)。また、moveLeft() は、矩形の左端を指定された x 座標に固定したまま、サイズを変更せずに矩形全体を水平方向に移動させます。

位置に関する QRect メソッド(x()、y()、center()、corner(topLeft()、topRight()、bottomLeft()、bottomRight())、および edge(top()、bottom()、left()、right()))を示す長方形の図。

なお、歴史的な理由により、bottom() およびright() 関数が返す値は、矩形の真の右下隅とは異なります。right() 関数は left() +width() - 1を返し、bottom() 関数はtop() +height() - 1 を返します。bottomRight() 便利関数が返す点についても同様です。さらに、topRight() 関数とbottomLeft() 関数がそれぞれ返す x 座標と y 座標は、実際の右端および下端からのずれが同じです。

真の右下隅を見つけるには、x() +width() およびy() +height() を使用することをお勧めします。また、right() およびbottom() の使用は避けてください。別の解決策として、QRectF を使用する方法があります。QRectF クラスは、座標に浮動小数点精度を使用して平面上の矩形を定義しており、QRectF::right() およびQRectF::bottom() 関数は、右端と下端の座標を返します。

また、adjust() 関数を使用してこの矩形の座標にオフセットを追加したり、adjusted() 関数を使用して元の矩形を調整した新しい矩形を取得したりすることも可能です。幅または高さのいずれかが負の場合、normalized() 関数を使用して、角が入れ替わった矩形を取得してください。

さらに、QRect には、矩形の左上隅と右下隅の位置を取得する `getCoords()` 関数や、矩形の左上隅、幅、高さを取得する `getRect()` 関数が用意されています。`setCoords()` および `setRect()` 関数を使用すると、矩形の座標と寸法を一度に操作できます。

制約

QRect は、int 型の最小値および最大値に制限されます。この範囲外の値となる可能性のあるQRectに対する操作は、未定義の挙動を引き起こします。

QRectF およびQRegionも参照してください 。

メンバ関数のドキュメント

[constexpr noexcept] QRect::QRect()

ヌル矩形を作成します。

isNull()も参照してください 。

[constexpr noexcept] QRect::QRect(const QPoint &topLeft, const QPoint &bottomRight)

指定されたtopLeft およびbottomRight を角として、両端を含む長方形を作成します。

bottomRight がtopLeft より上にあり、かつ左側にある場合、定義される長方形は両端点を含まないものとなります。

注: 相対的な順序にかかわらず両方の点が確実に含まれるようにするには 、span() を使用してください。

関連項目: setTopLeft()、setBottomRight()、span()も参照してください 。

[constexpr noexcept] QRect::QRect(const QPoint &topLeft, const QSize &size)

指定されたtopLeft の角と、指定されたsize を用いて長方形を構築します。

setTopLeft() およびsetSize()も参照してください 。

[constexpr noexcept] QRect::QRect(int x, int y, int width, int height)

(x,y)を左上隅とし、指定されたwidth およびheight を持つ長方形を作成します。

setRect()も参照してください 。

[constexpr noexcept] void QRect::adjust(int dx1, int dy1, int dx2, int dy2)

矩形の既存の座標に、それぞれdx1 、dy1 、dx2 、dy2 を追加します。

adjusted() およびsetRect()も参照してください 。

[constexpr noexcept] QRect QRect::adjusted(int dx1, int dy1, int dx2, int dy2) const

この矩形の既存の座標に、それぞれdx1 、dy1 、dx2 、dy2 を加算した新しい矩形を返します。

adjust()も参照してください 。

[constexpr noexcept] int QRect::bottom() const

矩形の下辺の y 座標を返します。

なお、歴史的な理由により、この関数は `top()` + `height()` - 1 を返すことに注意してください。実際の y 座標を取得するには、`y()` + `height()` を使用してください。

setBottom()、bottomLeft()、およびbottomRight()も参照してください 。

[constexpr noexcept] QPoint QRect::bottomLeft() const

矩形の左下隅の位置を返します。なお、歴史的な理由により、この関数はQPoint (left()、top() +height() - 1)を返します。

setBottomLeft()、bottom()、およびleft()も参照してください 。

[constexpr noexcept] QPoint QRect::bottomRight() const

矩形の右下隅の位置を返します。

なお、歴史的な理由により、この関数は `QPoint`(`left()` + `width()` - 1, `top()` + `height()` - 1)を返します。

setBottomRight()、bottom()、およびright()も参照してください 。

[constexpr noexcept] QPoint QRect::center() const

矩形の中心点を返します。

moveCenter()も参照してください 。

[noexcept] bool QRect::contains(const QPoint &point, bool proper = false) const

指定されたpoint が矩形の内側または境界線上にある場合はtrue を返し、そうでない場合はfalse を返します。proper がtrueの場合、この関数は、指定されたpoint が矩形の内側(つまり、境界線上ではない)にある場合にのみtrue を返します。

intersects()も参照してください 。

[noexcept] bool QRect::contains(const QRect &rectangle, bool proper = false) const

指定されたrectangle がこの矩形内にある場合、true を返します。そうでない場合はfalse を返します。proper がtrueの場合、この関数は、rectangle がこの矩形内に完全に収まっている(境界線上ではない)場合にのみ、true を返します。

これはオーバーロードされた関数です。

[noexcept] bool QRect::contains(int x, int y) const

点 (x,y) がこの矩形内にある場合は `true ` を返し、そうでない場合は `false` を返します。

これはオーバーロードされた関数です。

[noexcept] bool QRect::contains(int x, int y, bool proper) const

点 (x,y) が矩形の内側または境界線上にある場合は `true ` を返し、そうでない場合は `false` を返します。proper が true の場合、この関数は、点が矩形の内側に完全に収まっている(境界線上ではない)場合にのみ `true ` を返します。

これはオーバーロードされた関数です。

[constexpr] void QRect::getCoords(int *x1, int *y1, int *x2, int *y2) const

矩形の左上隅の位置を *x1 および *y1 に、右下隅の位置を *x2 および *y2 に取得します。

setCoords() およびgetRect()も参照してください 。

[constexpr] void QRect::getRect(int *x, int *y, int *width, int *height) const

矩形の左上隅の位置を *x および *y に、その寸法を *width および *height に取得します。

setRect() およびgetCoords()も参照してください 。

[constexpr noexcept] int QRect::height() const

矩形の高さを返します。

setHeight()、width()、およびsize()も参照してください 。

[noexcept] QRect QRect::intersected(const QRect &rectangle) const

この矩形と、指定されたrectangle との共通部分を返します。なお、r.intersected(s) はr & s と同等であることに注意してください。

2つの長方形 r と s の交差部分を示した図で、重なっている領域がハイライト表示されています。また、r.intersect(s).width および r.intersect(s).height() を使用して、ハイライトされた領域の幅と高さがどのように決定されるかも示されています。

intersects()、united()、およびoperator&=()も参照してください 。

[noexcept] bool QRect::intersects(const QRect &rectangle) const

この矩形が指定されたrectangle と交差する場合(つまり、両方の矩形内に少なくとも1つのピクセルが含まれている場合)、true を返します。それ以外の場合は、false を返します。

交差する矩形は、intersected() 関数を使用して取得できます。

contains()も参照してください 。

[constexpr noexcept] bool QRect::isEmpty() const

矩形が空の場合はtrue を返し、それ以外の場合はfalse を返します。

空の矩形は、left() >right() またはtop() >bottom() となります。空の矩形は無効です(つまり、isEmpty() == !isValid())。

normalized() 関数を使用すると、角が入れ替わった矩形を取得できます。

isNull()、isValid()、およびnormalized()も参照してください 。

[constexpr noexcept] bool QRect::isNull() const

矩形がヌル矩形の場合は `true ` を返し、それ以外の場合は `false` を返します。

ヌル矩形とは、幅と高さの両方が 0 に設定されている矩形のことです(つまり、right() ==left() - 1 およびbottom() ==top() - 1)。ヌル矩形は空であるため、無効です。

isEmpty() およびisValid()も参照してください 。

[constexpr noexcept] bool QRect::isValid() const

矩形が有効な場合は `true ` を返し、そうでない場合は `false` を返します。

有効な矩形は、left() <=right() かつtop() <=bottom() を満たします。なお、交差などの非自明な演算は、無効な矩形に対しては定義されていないことに注意してください。有効な矩形は空ではありません(すなわち、isValid() == !isEmpty())。

isNull()、isEmpty()、およびnormalized()も参照してください 。

[constexpr noexcept] int QRect::left() const

矩形の左端のx座標を返します。x() と同等です。

setLeft()、topLeft()、およびbottomLeft()も参照してください 。

[constexpr noexcept] QRect QRect::marginsAdded(const QMargins &margins) const

margins によって拡大された矩形を返します。

operator+=()、marginsRemoved()、およびoperator-=()も参照してください 。

[constexpr noexcept] QRect QRect::marginsRemoved(const QMargins &margins) const

矩形からmargins を削除し、そのサイズを縮小します。

marginsAdded()、operator+=()、operator-=()も参照してください 。

[constexpr noexcept] void QRect::moveBottom(int y)

矩形を垂直方向に移動させ、矩形の下端を指定されたy 座標の位置に固定します。矩形のサイズは変更されません。

bottom()、setBottom()、およびmoveTop()も参照してください 。

[constexpr noexcept] void QRect::moveBottomLeft(const QPoint &position)

指定されたposition を左下隅として、矩形を移動します。矩形のサイズは変更されません。

setBottomLeft()、moveBottom()、およびmoveLeft()も参照してください 。

[constexpr noexcept] void QRect::moveBottomRight(const QPoint &position)

指定されたposition を右下隅として、矩形を移動します。矩形のサイズは変更されません。

setBottomRight()、moveRight()、およびmoveBottom()も参照してください 。

[constexpr noexcept] void QRect::moveCenter(const QPoint &position)

指定されたposition を中心点として、矩形を移動します。矩形のサイズは変更されません。

center()も参照してください 。

[constexpr noexcept] void QRect::moveLeft(int x)

矩形を水平方向に移動し、矩形の左端を指定されたx 座標に固定します。矩形のサイズは変更されません。

left()、setLeft()、およびmoveRight()も参照してください 。

[constexpr noexcept] void QRect::moveRight(int x)

矩形を水平方向に移動させ、矩形の右端を指定されたx 座標に合わせます。矩形のサイズは変更されません。

right()、setRight()、およびmoveLeft()も参照してください 。

[constexpr noexcept] void QRect::moveTo(const QPoint &position)

指定されたposition を左上隅に据えたまま、矩形を移動します。

[constexpr noexcept] void QRect::moveTo(int x, int y)

左上隅を指定された位置(x 、y )に固定したまま、矩形を移動します。矩形のサイズは変更されません。

translate() およびmoveTopLeft()も参照してください 。

[constexpr noexcept] void QRect::moveTop(int y)

矩形を垂直方向に移動し、矩形の上端を指定されたy 座標に固定します。矩形のサイズは変更されません。

top()、setTop()、およびmoveBottom()も参照してください 。

[constexpr noexcept] void QRect::moveTopLeft(const QPoint &position)

指定されたposition を左上隅として、矩形を移動します。矩形のサイズは変更されません。

setTopLeft()、moveTop()、およびmoveLeft()も参照してください 。

[constexpr noexcept] void QRect::moveTopRight(const QPoint &position)

指定されたposition を右上隅として、矩形を移動します。矩形のサイズは変更されません。

setTopRight()、moveTop()、およびmoveRight()も参照してください 。

[noexcept] QRect QRect::normalized() const

正規化された矩形、すなわち、幅と高さが非負の矩形を返します。

width() < 0 の場合、この関数は左端と右端を交換し、height() < 0 の場合、上端と下端を交換します。同時に、角の位置が「端を含まない」状態から「端を含む」状態に変更されます。

isValid() およびisEmpty()も参照してください 。

矩形の右端のx座標を返します。

なお、歴史的な理由により、この関数は `left()` + `width()` - 1 を返すことに注意してください。実際の x 座標を取得するには、`x()` + `width()` を使用してください。

setRight()、topRight()、およびbottomRight()も参照してください 。

[constexpr noexcept] void QRect::setBottom(int y)

矩形の下辺を、指定されたy 座標に設定します。高さが変わる場合がありますが、矩形の上辺が変わることはありません。

bottom() およびmoveBottom()も参照してください 。

[constexpr noexcept] void QRect::setBottomLeft(const QPoint &position)

長方形の左下隅を、指定されたposition に設定します。サイズは変更される場合がありますが、長方形の右上隅は決して変更されません。

bottomLeft() およびmoveBottomLeft()も参照してください 。

[constexpr noexcept] void QRect::setBottomRight(const QPoint &position)

長方形の右下隅を、指定されたposition に設定します。サイズは変更される場合がありますが、長方形の左上隅は決して変更されません。

bottomRight() およびmoveBottomRight()も参照してください 。

[constexpr noexcept] void QRect::setCoords(int x1, int y1, int x2, int y2)

矩形の左上隅の座標を (x1,y1) に、右下隅の座標を (x2,y2) に設定します。

getCoords() およびsetRect()も参照してください 。

[constexpr noexcept] void QRect::setHeight(int height)

矩形の高さを、指定されたheight に設定します。下辺は変更されますが、上辺は変更されません。

height() およびsetSize()も参照してください 。

[constexpr noexcept] void QRect::setLeft(int x)

矩形の左端を、指定されたx 座標に設定します。幅が変わる場合がありますが、矩形の右端が変わることはありません。

setX() と同等です。

left() およびmoveLeft()も参照してください 。

[constexpr noexcept] void QRect::setRect(int x, int y, int width, int height)

矩形の左上隅の座標を (x,y) に設定し、そのサイズを指定されたwidth およびheight に設定します。

getRect() およびsetCoords()も参照してください 。

[constexpr noexcept] void QRect::setRight(int x)

矩形の右端を、指定されたx 座標に設定します。幅が変わる場合がありますが、矩形の左端は決して変わりません。

right() およびmoveRight()も参照してください 。

[constexpr noexcept] void QRect::setSize(const QSize &size)

矩形のサイズを指定されたsize に設定します。左上隅の位置は変更されません。

size()、setWidth()、およびsetHeight()も参照してください 。

[constexpr noexcept] void QRect::setTop(int y)

矩形の上端を、指定されたy 座標に設定します。高さが変わる場合がありますが、矩形の下端は決して変わりません。

setY() と同等です。

top() およびmoveTop()も参照してください 。

[constexpr noexcept] void QRect::setTopLeft(const QPoint &position)

矩形の左上隅を、指定されたposition に設定します。サイズは変更される場合がありますが、矩形の右下隅は決して変更されません。

topLeft() およびmoveTopLeft()も参照してください 。

[constexpr noexcept] void QRect::setTopRight(const QPoint &position)

長方形の右上隅を、指定されたposition に設定します。サイズは変更される場合がありますが、長方形の左下隅は決して変更されません。

topRight() およびmoveTopRight()も参照してください 。

[constexpr noexcept] void QRect::setWidth(int width)

矩形の幅を、指定されたwidth に設定します。右端の位置は変更されますが、左端の位置は変更されません。

width() およびsetSize()も参照してください 。

[constexpr noexcept] void QRect::setX(int x)

矩形の左端を、指定されたx 座標に設定します。幅が変わる場合がありますが、矩形の右端が変わることはありません。

setLeft() と同等です。

x()、setY()、およびsetTopLeft()も参照してください 。

[constexpr noexcept] void QRect::setY(int y)

矩形の上辺を、指定されたy 座標に設定します。高さが変わる場合がありますが、矩形の下辺が変更されることはありません。

setTop() と同等です。

y()、setX()、およびsetTopLeft()も参照してください 。

[constexpr noexcept] QSize QRect::size() const

矩形のサイズを返します。

setSize()、width()、およびheight()も参照してください 。

[static constexpr noexcept, since 6.0] QRect QRect::span(const QPoint &p1, const QPoint &p2)

2つの点p1 とp2 を結ぶ長方形を返します。これには、両端の点およびその間のすべての領域が含まれます。

この関数は Qt 6.0 で導入されました。

[noexcept] CGRect QRect::toCGRect() const

QRect から CGRect を作成します。

QRectF::fromCGRect()も参照してください 。

[constexpr noexcept, since 6.4] QRectF QRect::toRectF() const

この矩形を、浮動小数点精度を持つ矩形として返します。

注:この関数は 、QRectF (QRect )コンストラクタと同様に、矩形のbottomRight() 角ではなく、size() を保持します。

この関数は Qt 6.4 で導入されました。

QRectF::toRect()も参照してください 。

[constexpr noexcept] int QRect::top() const

矩形の上辺の y 座標を返します。y() と同等です。

setTop()、topLeft()、およびtopRight()も参照してください 。

[constexpr noexcept] QPoint QRect::topLeft() const

矩形の左上隅の位置を返します。

setTopLeft()、top()、およびleft()も参照してください 。

[constexpr noexcept] QPoint QRect::topRight() const

矩形の右上隅の位置を返します。

なお、歴史的な理由により、この関数は `QPoint`(`left()` + `width()` - 1, `top()`)を返します。

setTopRight()、top()、およびright()も参照してください 。

[constexpr noexcept] void QRect::translate(int dx, int dy)

現在の位置を基準として、矩形をx軸方向にdx 、y軸方向にdy だけ移動させます。正の値を設定すると、矩形は右方向および下方向に移動します。

moveTopLeft()、moveTo()、translated()も参照してください 。

[constexpr noexcept] void QRect::translate(const QPoint &offset)

矩形を、現在の位置を基準として、offset.x() だけ x 軸方向に、offset.y() だけ y 軸方向に移動させます。

これはオーバーロードされた関数です。

[constexpr noexcept] QRect QRect::translated(int dx, int dy) const

現在の位置を基準として、x 軸方向にdx 、y 軸方向にdy だけ平行移動させた矩形のコピーを返します。正の値は、矩形を右および下方向に移動させます。

translate()も参照してください 。

[constexpr noexcept] QRect QRect::translated(const QPoint &offset) const

現在の位置を基準として、x軸方向にはoffset.x()、y軸方向にはoffset.y() だけ平行移動させた矩形のコピーを返します。

これはオーバーロードされた関数です。

[constexpr noexcept] QRect QRect::transposed() const

幅と高さが入れ替わった矩形のコピーを返します:

QRect r = {15, 51, 42, 24};
r = r.transposed(); // r == {15, 51, 24, 42}

QSize::transposed()も参照してください 。

[noexcept] QRect QRect::united(const QRect &rectangle) const

この矩形と、指定されたrectangle の境界矩形を返します。

2つの重なり合った長方形 r と s、および r.united(s).width と r.united(s).height() によって決定されるそれらの結合後のサイズを示す図。

intersected()も参照してください 。

[constexpr noexcept] int QRect::width() const

矩形の幅を返します。

setWidth()、height()、およびsize()も参照してください 。

[constexpr noexcept] int QRect::x() const

矩形の左端のx座標を返します。left() と同等です。

setX()、y()、およびtopLeft()も参照してください 。

[constexpr noexcept] int QRect::y() const

矩形の上辺のy座標を返します。top() と同等です。

setY()、x()、およびtopLeft()も参照してください 。

[noexcept] QRect QRect::operator&(const QRect &rectangle) const

この矩形と、指定されたrectangle との共通部分を返します。共通部分がない場合は、空の矩形を返します。

operator&=() およびintersected()も参照してください 。

[noexcept] QRect &QRect::operator&=(const QRect &rectangle)

この長方形と、指定されたrectangle との交点を求めます。

intersected() およびoperator&()も参照してください 。

[constexpr noexcept] QRect &QRect::operator+=(const QMargins &margins)

margins を矩形に追加し、矩形を拡大します。

marginsAdded()、marginsRemoved()、およびoperator-=()も参照してください 。

[constexpr noexcept] QRect &QRect::operator-=(const QMargins &margins)

margins によって縮小された矩形を返します。

marginsRemoved()、operator+=()、およびmarginsAdded()も参照してください 。

[noexcept] QRect QRect::operator|(const QRect &rectangle) const

この矩形と、指定されたrectangle の境界矩形を返します。

operator|=() およびunited()も参照してください 。

[noexcept] QRect &QRect::operator|=(const QRect &rectangle)

この長方形を、指定されたrectangle と結合します。

united() およびoperator|()も参照してください 。

関連する非メンバー関数

[constexpr noexcept] bool operator!=(const QRect &lhs, const QRect &rhs)

矩形lhs とrhs が異なる場合はtrue を返し、そうでない場合はfalse を返します。

[constexpr noexcept] QRect operator+(const QRect &rectangle, const QMargins &margins)

margins によって拡張されたrectangle を返します。

[constexpr noexcept] QRect operator+(const QMargins &margins, const QRect &rectangle)

margins によって拡張されたrectangle を返します。

これはオーバーロードされた関数です。

[constexpr noexcept] QRect operator-(const QRect &lhs, const QMargins &rhs)

rhs で指定された余白分だけ縮小されたlhs の矩形を返します。

QDataStream &operator<<(QDataStream &stream, const QRect &rectangle)

指定されたrectangle を指定されたstream に書き込み、そのストリームへの参照を返します。

「Qt データ型のシリアル化」も参照してください 。

[constexpr noexcept] bool operator==(const QRect &lhs, const QRect &rhs)

矩形lhs とrhs が等しい場合はtrue を返し、そうでない場合はfalse を返します。

QDataStream &operator>>(QDataStream &stream, QRect &rectangle)

指定されたstream から指定されたrectangle へ矩形を読み込み、そのストリームへの参照を返します。

「Qtデータ型のシリアライズ」も参照してください 。

© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.