이 페이지에서

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(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 미만 (또는 0)인 경우 true 를 반환하는 반면, isNull() 함수는 너비와 높이가 모두 0인 경우에만 true 를 반환합니다.

expandedTo() 함수를 사용하면 이 크기와 주어진 크기의 최대 높이와 너비를 가진 크기를 가져올 수 있습니다. 마찬가지로, boundedTo() 함수는 이 크기와 주어진 크기의 최소 높이와 너비를 가진 크기를 반환합니다.

QSizeF 클래스는 또한 너비와 높이를 가장 가까운 정수로 반올림하여 생성된, QSize 복사본을 반환하는 toSize() 함수를 제공합니다.

QSizeF 객체는 비교할 수 있을 뿐만 아니라 스트리밍도 가능합니다.

QSize, QPointF 및 QRectF도 참조하십시오 .

멤버 함수 설명서

[constexpr noexcept] QSizeF::QSizeF()

유효하지 않은 크기를 생성합니다.

isValid()도 참조하십시오 .

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

주어진 ` 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 를 기반으로 QSizeF 를 생성합니다.

toCGSize()도 참조하십시오 .

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

이 크기를 margins 만큼 늘린 결과 크기를 반환합니다.

shrunkBy()도 참조하십시오 .

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

높이를 반환합니다.

width() 및 setHeight()도 참조하십시오 .

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

너비나 높이가 0 이하인 경우 true 를 반환하고, 그렇지 않은 경우 false 를 반환합니다.

isNull() 및 isValid()도 참조하십시오 .

[noexcept] bool QSizeF::isNull() const

너비와 높이가 모두 0.0인 경우(부호는 무시함) true 을 반환하고, 그렇지 않은 경우 false 을 반환합니다.

isValid() 및 isEmpty()도 참조하십시오 .

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

너비와 높이가 모두 0 이상이면 true 를 반환하고, 그렇지 않으면 false 를 반환합니다.

isNull() 및 isEmpty()도 참조하십시오 .

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

높이에 대한 참조를 반환합니다.

참조를 사용하면 높이를 직접 조작할 수 있습니다. 예를 들어:

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

// size becomes (100,15.7)

rwidth() 및 setHeight()도 참조하십시오 .

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

너비에 대한 참조를 반환합니다.

참조를 사용하면 너비를 직접 조작할 수 있습니다. 예를 들어:

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)

지정된 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)

지정된 size 에 따라, 지정된 mode 에 맞춰 크기를 직사각형으로 조정합니다.

이것은 오버로드된 함수입니다.

[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()도 참조하십시오 .

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

이 크기를 margins 만큼 축소했을 때 얻어지는 크기를 반환합니다.

grownBy()도 참조하십시오 .

[noexcept] CGSize QSizeF::toCGSize() const

QSizeF 에서 CGSize를 생성합니다.

fromCGSize()도 참조하십시오 .

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

이 크기의 정수 기반 복사본을 반환합니다.

반환된 size의 좌표는 가장 가까운 정수로 반올림된다는 점에 유의하십시오.

QSizeF() 및 QSize::toSizeF()도 참조하십시오 .

[noexcept] void QSizeF::transpose()

너비와 높이의 값을 서로 바꿉니다.

setWidth(), setHeight(), transposed()도 참조하십시오 .

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

너비와 높이의 값이 서로 바뀐 크기를 반환합니다.

transpose()도 참조하십시오 .

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

너비를 반환합니다.

height() 및 setWidth()도 참조하십시오 .

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

폭과 높이를 모두 주어진 유한한 수 factor 로 곱한 후, 그 크기에 대한 참조를 반환합니다.

scale()도 참조하십시오 .

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

지정된 ` size `를 이 `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 를 이 size에서 빼고, 이 size에 대한 참조를 반환합니다. 예를 들어:

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

// s becomes (4,3)

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

폭과 높이를 모두 지정된 ` divisor `로 나눈 후, 그 크기에 대한 참조를 반환합니다. ` divisor `는 0이나 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 의 width와 height가 모두 0에 근사할 경우 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)

s2 s1 에서 를 뺀 값을 반환합니다. 각 성분은 별도로 차감됩니다.

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

주어진 size 를 주어진 divisor 로 나눈 후 그 결과를 반환합니다. divisor 는 0이나 NaN이어서는 안 됩니다.

QSizeF::scale()도 참조하십시오 .

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

지정된 ` size `를 지정된 ` stream `에 기록하고, 해당 스트림에 대한 참조를 반환합니다.

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 데이터 유형 직렬화항목도 참조하십시오 .

© 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.