QSizeF Class
QSizeF クラスは、浮動小数点精度を使用して 2 次元オブジェクトのサイズを定義します。詳細...
ヘッダー | #include <QSizeF> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS Core) target_link_libraries(mytarget PRIVATE Qt6::Core) |
qmake: | QT += core |
- 継承メンバを含む全メンバ一覧
- QSizeFはペイントクラスの一部です。
パブリック関数
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 の最大幅と最大高さを保持するサイズを返します。
[static noexcept]
QSizeF QSizeF::fromCGSize(CGSize size)
size からQRectF を作成する。
toCGSize()も参照 。
[constexpr noexcept]
qreal QSizeF::height() const
高さを返します。
[constexpr noexcept]
bool QSizeF::isEmpty() const
幅と高さのどちらかが 0 以下の場合はtrue
を返し、そうでない場合はfalse
を返す。
[noexcept]
bool QSizeF::isNull() const
幅と高さの両方が 0.0 の場合は(符号を無視して)true
を返し、そうでない場合はfalse
を返す。
[constexpr noexcept]
bool QSizeF::isValid() const
幅と高さの両方が 0 以上の場合はtrue
を返し、そうでない場合はfalse
を返す。
[constexpr noexcept]
qreal &QSizeF::rheight()
高さへの参照を返します。
参照を使用すると、高さを直接操作できるようになります。例えば
QSizeF size(100, 10.2); size.rheight() += 5.5; // size becomes (100,15.7)
[constexpr noexcept]
qreal &QSizeF::rwidth()
幅への参照を返す。
参照を使用すると、幅を直接操作できるようになります。例えば
QSizeF size(100.3, 10); size.rwidth() += 20.5; // size becomes (120.8,10)
[noexcept]
void QSizeF::scale(qreal width, qreal height, Qt::AspectRatioMode mode)
与えられたwidth とheight を持つ矩形に、指定されたmode に従ってサイズをスケーリングします。
- mode がQt::IgnoreAspectRatio の場合、サイズは (width,height) に設定される。
- mode がQt::KeepAspectRatio の場合,現在のサイズは,縦横比を保ったまま, (width,height) 内のできるだけ大きな矩形に拡大縮小されます。
- mode がQt::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
与えられたwidth とheight を持つ矩形に、指定されたmode に従ってスケーリングされたサイズを返します。
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
幅と高さの値を入れ替えたサイズを返します。
transpose()も参照 ください。
[constexpr noexcept]
qreal QSizeF::width() const
幅を返す。
[constexpr noexcept]
QSizeF &QSizeF::operator*=(qreal factor)
これはオーバーロードされた関数です。
幅と高さの両方を、与えられた有限のfactor で乗算し、そのサイズへの参照を返します。
scale()も参照 。
[constexpr noexcept]
QSizeF &QSizeF::operator+=(const QSizeF &size)
与えられたsize をこのサイズに追加し、このサイズへの参照を返します。例えば
[constexpr noexcept]
QSizeF &QSizeF::operator-=(const QSizeF &size)
このサイズから与えられたsize を引き、このサイズへの参照を返す。例えば
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)
sizesize の幅と高さの両方がほぼゼロに等しい場合、true
を返します。
この関数は Qt 6.8 で導入されました。
[constexpr noexcept]
bool operator!=(const QSizeF &lhs, const QSizeF &rhs)
lhs とrhs が十分に異なる場合は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)
s1 とs2 の合計を返す。各コンポーネントは別々に加算される。
[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)
与えられたstream に与えられたsize を書き込み、ストリームへの参照を返します。
Qt データ型のシリアライズも参照してください 。
[constexpr noexcept]
bool operator==(const QSizeF &lhs, const QSizeF &rhs)
lhs とrhs がほぼ等しい場合はtrue
を返し、そうでない場合は false を返す。
警告 この関数は、厳密に等しいかどうかをチェックしません。その代わりに、ファジー比較を使用して、サイズの長さを比較します。
qFuzzyCompareも参照 。
QDataStream &operator>>(QDataStream &stream, QSizeF &size)
与えられたstream から与えられたsize にサイズを読み込み、ストリームへの参照を返します。
Qt データ型のシリアライズも参照してください 。
© 2025 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.