QSize Class
QSize クラスは、整数型の点精度を用いて 2 次元オブジェクトのサイズを定義します。詳細...
| ヘッダー: | #include <QSize> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS Core) target_link_libraries(mytarget PRIVATE Qt6::Core) |
| qmake: | QT += core |
- 継承されたメンバーを含む、すべてのメンバーの一覧
- QSizeはペイントクラスの一部です。
パブリック関数
| QSize() | |
| QSize(int width, int height) | |
| QSize | boundedTo(const QSize &otherSize) const |
| QSize | expandedTo(const QSize &otherSize) const |
| QSize | grownBy(QMargins margins) const |
| int | height() const |
| bool | isEmpty() const |
| bool | isNull() const |
| bool | isValid() const |
| int & | rheight() |
| int & | rwidth() |
| void | scale(int width, int height, Qt::AspectRatioMode mode) |
| void | scale(const QSize &size, Qt::AspectRatioMode mode) |
| QSize | scaled(int width, int height, Qt::AspectRatioMode mode) const |
| QSize | scaled(const QSize &s, Qt::AspectRatioMode mode) const |
| void | setHeight(int height) |
| void | setWidth(int width) |
| QSize | shrunkBy(QMargins margins) const |
| CGSize | toCGSize() const |
(since 6.4) QSizeF | toSizeF() const |
| void | transpose() |
| QSize | transposed() const |
| int | width() const |
| QSize & | operator*=(qreal factor) |
| QSize & | operator+=(const QSize &size) |
| QSize & | operator-=(const QSize &size) |
| QSize & | operator/=(qreal divisor) |
関連する非メンバー
| bool | operator!=(const QSize &lhs, const QSize &rhs) |
| QSize | operator*(const QSize &size, qreal factor) |
| QSize | operator*(qreal factor, const QSize &size) |
| QSize | operator+(const QSize &s1, const QSize &s2) |
| QSize | operator-(const QSize &s1, const QSize &s2) |
| QSize | operator/(const QSize &size, qreal divisor) |
| QDataStream & | operator<<(QDataStream &stream, const QSize &size) |
| bool | operator==(const QSize &lhs, const QSize &rhs) |
| QDataStream & | operator>>(QDataStream &stream, QSize &size) |
詳細な説明
サイズは、width() およびheight() によって指定されます。サイズはコンストラクタで設定でき、setWidth()、setHeight()、scale() 関数、または算術演算子を使用して変更できます。また、rwidth() およびrheight() 関数を使用して、幅と高さの参照を取得することで、サイズを直接操作することもできます。 最後に、transpose() 関数を使用して、幅と高さを入れ替えることができます。
isValid() 関数は、サイズが有効かどうかを判定します(有効なサイズとは、幅と高さの両方が 0 以上であるものです)。isEmpty() 関数は、幅または高さのいずれかが 0 以下の場合、true を返します。一方、isNull() 関数は、幅と高さの両方が 0 の場合にのみ、true を返します。
expandedTo() 関数を使用すると、このサイズと指定されたサイズの最大の高さと幅を含むサイズを取得できます。同様に、boundedTo() 関数は、このサイズと指定されたサイズの最小の高さと幅を含むサイズを返します。
QSize オブジェクトは、比較だけでなくストリーム処理も可能です。
QSizeF 、QPoint 、およびQRectも参照してください 。
メンバ関数のドキュメント
[constexpr noexcept] QSize::QSize()
幅と高さが無効なサイズを構築します(つまり、isValid() はfalse を返します)。
isValid()も参照してください 。
[constexpr noexcept] QSize::QSize(int width, int height)
指定されたwidth およびheight を用いてサイズを構築します。
setWidth() およびsetHeight()も参照してください 。
[constexpr noexcept] QSize QSize::boundedTo(const QSize &otherSize) const
このサイズと、指定されたotherSize の最小幅および最小高さを保持するサイズを返します。
expandedTo() およびscale()も参照してください 。
[constexpr noexcept] QSize QSize::expandedTo(const QSize &otherSize) const
このサイズと、指定されたotherSize の最大幅および最大高さを保持するサイズを返します。
boundedTo() およびscale()も参照してください 。
[constexpr noexcept] QSize QSize::grownBy(QMargins margins) const
このサイズにmargins を乗じた結果となるサイズを返します。
shrunkBy()も参照してください 。
[constexpr noexcept] int QSize::height() const
高さを返します。
width() およびsetHeight()も参照してください 。
[constexpr noexcept] bool QSize::isEmpty() const
幅または高さのいずれかが0以下である場合は、true を返し、それ以外の場合はfalse を返します。
isNull() およびisValid()も参照してください 。
[constexpr noexcept] bool QSize::isNull() const
幅と高さの両方が 0 の場合は `true ` を返し、それ以外の場合は `false` を返します。
isValid() およびisEmpty()も参照してください 。
[constexpr noexcept] bool QSize::isValid() const
幅と高さの両方が 0 以上である場合は `true ` を返し、そうでない場合は `false` を返します。
isNull() およびisEmpty()も参照してください 。
[constexpr noexcept] int &QSize::rheight()
高さの参照を返します。
参照を使用することで、高さを直接操作することが可能になります。例:
QSize size(100, 10);
size.rheight() += 5;
// size becomes (100,15)rwidth() およびsetHeight()も参照してください 。
[constexpr noexcept] int &QSize::rwidth()
幅への参照を返します。
参照を使用することで、幅を直接操作することが可能になります。例:
QSize size(100, 10);
size.rwidth() += 20;
// size becomes (120,10)rheight() およびsetWidth()も参照してください 。
[noexcept] void QSize::scale(int width, int height, Qt::AspectRatioMode mode)
指定されたwidth およびheight に基づき、指定されたmode に従って、サイズを長方形にスケーリングします:
- mode がQt::IgnoreAspectRatio の場合、サイズは(width,height)に設定されます。
- mode がQt::KeepAspectRatio の場合、アスペクト比を維持しつつ、現在のサイズが(width,height)の範囲内で可能な限り大きな長方形に拡大されます。
- mode がQt::KeepAspectRatioByExpanding の場合、現在のサイズは、アスペクト比を維持したまま、外側の(width 、height )範囲内で可能な限り小さい長方形にスケーリングされます。
例:
QSize t1(10, 12);
t1.scale(60, 60, Qt::IgnoreAspectRatio);
// t1 is (60, 60)
QSize t2(10, 12);
t2.scale(60, 60, Qt::KeepAspectRatio);
// t2 is (50, 60)
QSize t3(10, 12);
t3.scale(60, 60, Qt::KeepAspectRatioByExpanding);
// t3 is (60, 72)setWidth()、setHeight()、およびscaled()も参照してください 。
[noexcept] void QSize::scale(const QSize &size, Qt::AspectRatioMode mode)
指定されたsize を持つ長方形に、指定されたmode に従ってサイズを調整します。
これはオーバーロードされた関数です。
[noexcept] QSize QSize::scaled(int width, int height, Qt::AspectRatioMode mode) const
指定された `width ` および `height` に基づき、指定された `mode` に従って、長方形にサイズ調整された画像を返します。
scale()も参照してください 。
[noexcept] QSize QSize::scaled(const QSize &s, Qt::AspectRatioMode mode) const
指定されたmode に従い、指定されたサイズs の矩形にスケーリングされたサイズを返します。
これはオーバーロードされた関数です。
[constexpr noexcept] void QSize::setHeight(int height)
高さを指定されたheight に設定します。
rheight()、height()、およびsetWidth()も参照してください 。
[constexpr noexcept] void QSize::setWidth(int width)
幅を指定されたwidth に設定します。
rwidth()、width()、およびsetHeight()も参照してください 。
[constexpr noexcept] QSize QSize::shrunkBy(QMargins margins) const
このサイズをmargins で縮小した結果のサイズを返します。
grownBy()も参照してください 。
[noexcept] CGSize QSize::toCGSize() const
QSize から CGSize を作成します。
QSizeF::fromCGSize()も参照してください 。
[constexpr noexcept, since 6.4] QSizeF QSize::toSizeF() const
このサイズを浮動小数点精度のサイズとして返します。
この関数は Qt 6.4 で導入されました。
QSizeF::toSize()も参照してください 。
[noexcept] void QSize::transpose()
幅と高さの値を交換します。
setWidth()、setHeight()、およびtransposed()も参照してください 。
[constexpr noexcept] QSize QSize::transposed() const
幅と高さが入れ替わったQSize を返します。
transpose()も参照してください 。
[constexpr noexcept] int QSize::width() const
幅を返します。
height() およびsetWidth()も参照してください 。
[constexpr noexcept] QSize &QSize::operator*=(qreal factor)
幅と高さの両方に指定されたfactor を乗算し、そのサイズへの参照を返します。
結果は最寄りの整数に丸められることに注意してください。
scale()も参照してください 。
[constexpr noexcept] QSize &QSize::operator+=(const QSize &size)
指定されたsize をこのsizeに加算し、このsizeへの参照を返します。例:
[constexpr noexcept] QSize &QSize::operator-=(const QSize &size)
指定されたsize をこのsizeから差し引き、このsizeへの参照を返します。例:
QSize &QSize::operator/=(qreal divisor)
幅と高さの両方を指定されたdivisor で割り、そのサイズへの参照を返します。
結果は最寄りの整数に丸められることに注意してください。
QSize::scale()も参照してください 。
関連する非メンバー関数
[constexpr noexcept] bool operator!=(const QSize &lhs, const QSize &rhs)
lhs とrhs が異なる場合は `true ` を返し、それ以外の場合は `false` を返します。
[constexpr noexcept] QSize operator*(const QSize &size, qreal factor)
指定されたsize に、指定されたfactor を掛け、その結果を最寄りの整数に丸めて返します。
QSize::scale()も参照してください 。
[constexpr noexcept] QSize operator*(qreal factor, const QSize &size)
指定されたsize に、指定されたfactor を掛け合わせ、その結果を最寄りの整数に丸めて返します。
これはオーバーロードされた関数です。
[constexpr noexcept] QSize operator+(const QSize &s1, const QSize &s2)
s1 とs2 の和を返します。各要素は個別に加算されます。
[constexpr noexcept] QSize operator-(const QSize &s1, const QSize &s2)
`s2 ` から `s1` を差し引いた値を返します。各要素は個別に差し引かれます。
QSize operator/(const QSize &size, qreal divisor)
指定されたsize を、指定されたdivisor で割り、その結果を最も近い整数に丸めて返します。
QSize::scale()も参照してください 。
QDataStream &operator<<(QDataStream &stream, const QSize &size)
指定されたsize を指定されたstream に書き込み、そのストリームへの参照を返します。
「Qt データ型のシリアライズ」も参照してください 。
[constexpr noexcept] bool operator==(const QSize &lhs, const QSize &rhs)
lhs とrhs が等しい場合は `true ` を返し、そうでない場合は `false` を返します。
QDataStream &operator>>(QDataStream &stream, QSize &size)
指定されたstream から指定されたsize へサイズを読み込み、そのストリームへの参照を返します。
「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.