QSizeF Class

QSizeF クラスは、浮動小数点精度を使用して 2 次元オブジェクトのサイズを定義します。詳細...

Header: #include <QSizeF>
CMake: find_package(Qt6 REQUIRED COMPONENTS Core)
target_link_libraries(mytarget PRIVATE Qt6::Core)
qmake: QT += core

パブリック関数

QSizeF()
QSizeF(const QSize &size)
QSizeF(qreal width, qreal height)
QSizeF boundedTo(const QSizeF &otherSize) const
QSizeF expandedTo(const QSizeF &otherSize) const
QSizeF grownBy(QMarginsF margins) const
qreal height() const
bool isEmpty() const
bool isNull() const
bool isValid() const
qreal &rheight()
qreal &rwidth()
void scale(qreal width, qreal height, Qt::AspectRatioMode mode)
void scale(const QSizeF &size, Qt::AspectRatioMode mode)
QSizeF scaled(qreal width, qreal height, Qt::AspectRatioMode mode) const
QSizeF scaled(const QSizeF &s, Qt::AspectRatioMode mode) const
void setHeight(qreal height)
void setWidth(qreal width)
QSizeF shrunkBy(QMarginsF margins) const
CGSize toCGSize() const
QSize toSize() const
void transpose()
QSizeF transposed() const
qreal width() const
QSizeF &operator*=(qreal factor)
QSizeF &operator+=(const QSizeF &size)
QSizeF &operator-=(const QSizeF &size)
QSizeF &operator/=(qreal divisor)

静的パブリック・メンバー

QSizeF fromCGSize(CGSize size)
(since 6.8) bool qFuzzyCompare(const QSizeF &lhs, const QSizeF &rhs)
(since 6.8) bool qFuzzyIsNull(const QSizeF &size)
bool operator!=(const QSizeF &lhs, const QSizeF &rhs)
QSizeF operator*(const QSizeF &size, qreal factor)
QSizeF operator*(qreal factor, const QSizeF &size)
QSizeF operator+(const QSizeF &s1, const QSizeF &s2)
QSizeF operator-(const QSizeF &s1, const QSizeF &s2)
QSizeF operator/(const QSizeF &size, qreal divisor)
QDataStream &operator<<(QDataStream &stream, const QSizeF &size)
bool operator==(const QSizeF &lhs, const QSizeF &rhs)
QDataStream &operator>>(QDataStream &stream, QSizeF &size)

詳細説明

サイズはwidth() とheight() で指定します。サイズはコンストラクタで設定し、setWidth(),setHeight(),scale() 関数や算術演算子を使って変更することができます。また、rwidth() やrheight() 関数で幅や高さの参照を取得することで、サイズを直接操作することもできます。最後に、transpose ()関数を使用して、幅と高さを入れ替えることができる。

isValid() 関数は、サイズが有効かどうかを判定する。有効なサイズは、幅と高さの両方が 0 以上である。isEmpty() 関数は、幅と高さのどちらかが 0 より小さい(または等しい)場合にtrue を返し、isNull() 関数は、幅と高さの両方が 0 の場合にのみtrue を返す。

expandedTo() 関数を使用して、このサイズと指定されたサイズの最大の高さと幅を保持するサイズを取得する。同様に、boundedTo() 関数は、このサイズと与えられたサイズの最小の高さと幅を保持するサイズを返します。

QSizeF クラスにはtoSize() 関数もあります。この関数は、幅と高さを最も近い整数に丸めて作成した、このサイズのQSize コピーを返します。

QSizeF オブジェクトは、比較だけでなくストリームすることもできます。

QSize,QPointF,QRectFも参照してください

メンバ関数ドキュメント

[constexpr noexcept] QSizeF QSizeF::grownBy(QMarginsF margins) const

このサイズをmargins だけ大きくしたサイズを返す。

shrunkBy()も参照

[constexpr noexcept] QSizeF QSizeF::shrunkBy(QMarginsF margins) const

このサイズをmargins だけ縮小した結果を返す。

grownBy()も参照

[constexpr noexcept] QSizeF::QSizeF()

無効なサイズを構築します。

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

[constexpr noexcept] QSizeF::QSizeF(const QSize &size)

与えられたsize から浮動小数点精度のサイズを構築します。

toSize() およびQSize::toSizeF()も参照

[constexpr noexcept] QSizeF::QSizeF(qreal width, qreal height)

指定された有限のwidth およびheight からサイズを構築します。

[constexpr noexcept] QSizeF QSizeF::boundedTo(const QSizeF &otherSize) const

このサイズと与えられたotherSize の幅と高さの最小値を保持するサイズを返します。

expandedTo() およびscale()も参照

[constexpr noexcept] QSizeF QSizeF::expandedTo(const QSizeF &otherSize) const

このサイズの最大幅と最大高を保持するサイズと、与えられたotherSize を返します。

boundedTo() およびscale()も参照

[static noexcept] QSizeF QSizeF::fromCGSize(CGSize size)

size からQRectF を作成します。

toCGSize()も参照

[constexpr noexcept] qreal QSizeF::height() const

高さを返します。

width() およびsetHeight()も参照

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

width および height のいずれかが 0 以下の場合はtrue を返し、それ以外の場合はfalse を返します。

isNull() およびisValid()も参照

[noexcept] bool QSizeF::isNull() const

false幅と高さの両方が 0.0 の場合はtrue を返す(符号は無視する)。

isValid() およびisEmpty()も参照

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

幅と高さの両方が 0 以上の場合はtrue を返し、それ以外の場合はfalse を返す。

isNull() およびisEmpty()も参照

[constexpr noexcept] qreal &QSizeF::rheight()

height への参照を返します。

参照を使用すると、height を直接操作できるようになります。例えば

QSizeF size(100, 10.2);
size.rheight() += 5.5;

// size becomes (100,15.7)

rwidth() およびsetHeight() も参照

[constexpr noexcept] qreal &QSizeF::rwidth()

width への参照を返します。

参照を使用すると、幅を直接操作できるようになります。たとえば、次のようになります:

QSizeF size(100.3, 10);
size.rwidth() += 20.5;

 // size becomes (120.8,10)

rheight() およびsetWidth()も参照

[noexcept] void QSizeF::scale(qreal width, qreal height, Qt::AspectRatioMode mode)

与えられたwidthheight を持つ矩形に、指定されたmode に従ってサイズをスケーリングします。

  • modeQt::IgnoreAspectRatio の場合,サイズは (width,height) に設定されます。
  • modeQt::KeepAspectRatio の場合,現在のサイズは,縦横比を保ったまま, (width,height) 内のできるだけ大きな矩形に拡大縮小されます。
  • modeQt::KeepAspectRatioByExpanding の と き は、 現在のサ イ ズは、 縦横比を保ちつつ、 (width,height) の外側の、 できるだけ小さな矩形に縮小 さ れます。

例:

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

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

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

setWidth(),setHeight(),scaled()も参照

[noexcept] void QSizeF::scale(const QSizeF &size, Qt::AspectRatioMode mode)

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

サイズを,指定されたmode に従って,与えられたsize を持つ矩形にスケーリングします。

[noexcept] QSizeF QSizeF::scaled(qreal width, qreal height, Qt::AspectRatioMode mode) const

指定されたmode に従って,与えられたwidthheight を持つ矩形にスケーリングされたサイズを返します.

scale()も参照してください

[noexcept] QSizeF QSizeF::scaled(const QSizeF &s, Qt::AspectRatioMode mode) const

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

与えられたサイズs を持つ矩形に,指定されたmode に従ってスケーリングされたサイズを返します。

[constexpr noexcept] void QSizeF::setHeight(qreal height)

与えられた有限のheight に高さを設定します。

height()、rheight() およびsetWidth()も参照

[constexpr noexcept] void QSizeF::setWidth(qreal width)

幅を、指定された有限のwidth に設定します。

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

[noexcept] CGSize QSizeF::toCGSize() const

QSizeF から CGSize を作成します。

fromCGSize()も参照

[constexpr noexcept] QSize QSizeF::toSize() const

このサイズの整数ベースのコピーを返します。

返されるサイズの座標は、最も近い整数に丸められることに注意。

QSizeF() およびQSize::toSizeF()も参照

[noexcept] void QSizeF::transpose()

幅と高さの値を入れ替えます。

setWidth()、setHeight() およびtransposed()も参照

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

width および height の値を入れ替えたサイズを返します。

transpose() も参照 ください。

[constexpr noexcept] qreal QSizeF::width() const

width を返します。

height() およびsetWidth()も参照

[constexpr noexcept] QSizeF &QSizeF::operator*=(qreal factor)

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

幅と高さの両方を、与えられた有限のfactor で乗算し、そのサイズへの参照を返します。

scale()も参照

[constexpr noexcept] QSizeF &QSizeF::operator+=(const QSizeF &size)

与えられたsize をこのサイズに加算し、このサイズへの参照を返します。例えば

QSizeF s( 3, 7);
QSizeF r(-1, 4);
s += r;

// s becomes (2,11)

[constexpr noexcept] QSizeF &QSizeF::operator-=(const QSizeF &size)

このサイズから指定されたsize を引き、このサイズへの参照を返します。例えば、次のようになります:

QSizeF s( 3, 7);
QSizeF r(-1, 4);
s -= r;

// s becomes (4,3)

QSizeF &QSizeF::operator/=(qreal divisor)

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

与えられたdivisor で幅と高さの両方を割り、そのサイズへの参照を返す。divisor はゼロまたは NaN であってはならない。

scale()も参照

関連する非会員

[constexpr noexcept, since 6.8] bool qFuzzyCompare(const QSizeF &lhs, const QSizeF &rhs)

サイズlhs がサイズrhs とほぼ等しい場合はtrue を返し、そうでない場合はfalse を返す。

幅と高さがほぼ等しい場合、サイズはほぼ等しいとみなされます。

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

[constexpr noexcept, since 6.8] bool qFuzzyIsNull(const QSizeF &size)

サイズsize の幅と高さの両方がほぼゼロに等しい場合、true を返します。

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

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

lhsrhs が十分に異なる場合はtrue を返し、そうでない場合はfalse を返します。

警告 この関数は厳密な不等式をチェックしません。その代わりに、ファジー比較を使用してサイズの拡張を比較します。

[constexpr noexcept] QSizeF operator*(const QSizeF &size, qreal factor)

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

与えられたsize を与えられた有限のfactor で乗算し、その結果を返す。

QSizeF::scale()も参照のこと

[constexpr noexcept] QSizeF operator*(qreal factor, const QSizeF &size)

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

指定されたsize に指定された有限のfactor を乗算し、結果を返します。

[constexpr noexcept] QSizeF operator+(const QSizeF &s1, const QSizeF &s2)

s1s2 の和を返す。各要素は別々に加算される。

[constexpr noexcept] QSizeF operator-(const QSizeF &s1, const QSizeF &s2)

s1 からs2 を減算した結果を返す。

QSizeF operator/(const QSizeF &size, qreal divisor)

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

与えられたsize を与えられたdivisor で割り、その結果を返す。divisor はゼロまたは NaN であってはならない。

QSizeF::scale()も参照のこと

QDataStream &operator<<(QDataStream &stream, const QSizeF &size)

与えられたsize を与えられたstream に書き込み、ストリームへの参照を返します。

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

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

lhsrhs がほぼ等しい場合はtrue を返し、そうでない場合は false を返します。

そうでない場合は false を返します: この関数は、厳密に等しいかどうかをチェックしません。代わりに、ファジー比較を使用して、サイズの拡張子を比較します。

qFuzzyCompareも参照のこと

QDataStream &operator>>(QDataStream &stream, QSizeF &size)

与えられたstream から与えられたsize にサイズを読み込み、ストリームへの参照を返します。

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

本ドキュメントに含まれる文書の著作権は、それぞれの所有者に帰属します 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。