Класс QSizeF
Класс QSizeF определяет размер двумерного объекта с плавающей точкой. Подробнее...
| Заголовок: | #include <QSizeF> |
| CMake: | find_package(Qt6 COMPONENTS Core REQUIRED) target_link_libraries(mytarget PRIVATE Qt6::Core) |
| qmake: | QT += core |
Открытые функции
| QSizeF(qreal width, qreal height) | |
| QSizeF(const QSize &size) | |
| QSizeF() | |
| 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) |
Связанные нечлены
| bool | operator!=(const QSizeF &s1, const QSizeF &s2) |
| 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 &s1, const QSizeF &s2) |
| QDataStream & | operator>>(QDataStream &stream, QSizeF &size) |
Подробное описание
Размер задаётся значением width() и height(). Его можно задать в конструкторе и изменить с помощью функций setWidth(), setHeight() или scale(), или с помощью арифметических операторов. Размер также можно изменить напрямую, получив ссылки на ширину и высоту с помощью функций rwidth() и rheight(). Наконец, ширину и высоту можно поменять местами с помощью функции transpose().
Функция isValid() определяет, является ли размер допустимым. Допустимый размер имеет ширину и высоту, не меньшие нуля. Функция isEmpty() возвращает true если либо ширина, либо высота меньше или равны нулю, в то время как функция isNull() возвращает true только если и ширина, и высота равны нулю.
Используйте функцию expandedTo(), чтобы получить размер, который содержит максимальную высоту и ширину этого размера и заданного размера. Аналогично, функция boundedTo() возвращает размер, который содержит минимальную высоту и ширину этого размера и заданного размера.
Класс QSizeF также предоставляет функцию toSize(), которая возвращает копию этого размера в виде QSize, созданную путём округления ширины и высоты до ближайших целых чисел.
Объекты QSizeF можно потоково вводить и сравнивать.
См. также QSize, QPointF и QRectF.
Документация по функциям-членам
QSizeF QSizeF::shrunkBy(QMarginsF margins) const
Возвращает размер, полученный путём уменьшения этого размера на margins.
Эта функция была добавлена в Qt 5.14.
См. также grownBy().
QSizeF QSizeF::grownBy(QMarginsF margins) const
Возвращает размер, полученный путём увеличения этого размера на margins.
Эта функция была добавлена в Qt 5.14.
См. также shrunkBy().
QSizeF::QSizeF(qreal width, qreal height)
Создаёт размер с заданной width и height.
QSizeF::QSizeF(const QSize &size)
Создаёт размер с точностью до плавающей точки из заданного size.
См. также toSize().
QSizeF::QSizeF()
Создаёт недопустимый размер.
См. также isValid().
QSizeF QSizeF::boundedTo(const QSizeF &otherSize) const
Возвращает размер, содержащий минимальную ширину и высоту этого размера и заданного otherSize.
См. также expandedTo() и scale().
QSizeF QSizeF::expandedTo(const QSizeF &otherSize) const
Возвращает размер, содержащий максимальную ширину и высоту этого размера и заданного otherSize.
См. также boundedTo() и scale().
[static, since 5.8] QSizeF QSizeF::fromCGSize(CGSize size)
Создаёт QRectF из size.
Эта функция была введена в Qt 5.8.
См. также toCGSize().
qreal QSizeF::height() const
Возвращает высоту.
См. также width() и setHeight().
bool QSizeF::isEmpty() const
Возвращает true если любая из ширины и высоты меньше или равна 0; в противном случае возвращает false.
См. также isNull() и isValid().
bool QSizeF::isNull() const
Возвращает true если и ширина, и высота равны 0.0 (без учёта знака); в противном случае возвращает false.
См. также isValid() и isEmpty().
bool QSizeF::isValid() const
Возвращает true если и ширина, и высота равны или больше 0; в противном случае возвращает false.
См. также isNull() и isEmpty().
qreal &QSizeF::rheight()
Возвращает ссылку на высоту.
Использование ссылки позволяет напрямую манипулировать высотой. Например:
QSizeF size(100, 10.2); size.rheight() += 5.5; // size becomes (100,15.7)
См. также rwidth() и setHeight().
qreal &QSizeF::rwidth()
Возвращает ссылку на ширину.
Использование ссылки позволяет напрямую манипулировать шириной. Например:
QSizeF size(100.3, 10); size.rwidth() += 20.5; // size becomes (120.8,10)
См. также rheight() и setWidth().
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().
void QSizeF::scale(const QSizeF &size, Qt::AspectRatioMode mode)
Это перегруженный метод.
Масштабирует размер до прямоугольника с заданным size, в соответствии с указанным mode.
[since 5.0] QSizeF QSizeF::scaled(qreal width, qreal height, Qt::AspectRatioMode mode) const
Возвращает размер, масштабированный до прямоугольника с заданной width и height, в соответствии с указанным mode.
Эта функция была введена в Qt 5.0.
См. также scale().
[since 5.0] QSizeF QSizeF::scaled(const QSizeF &s, Qt::AspectRatioMode mode) const
Это перегруженный метод.
Возвращает размер, масштабированный до прямоугольника с заданным размером s, в соответствии с указанным mode.
Эта функция была введена в Qt 5.0.
void QSizeF::setHeight(qreal height)
Устанавливает высоту в заданное значение height.
См. также height(), rheight() и setWidth().
void QSizeF::setWidth(qreal width)
Устанавливает ширину в заданное значение width.
См. также width(), rwidth() и setHeight().
[since 5.8] CGSize QSizeF::toCGSize() const
Создаёт CGSize из QSizeF.
Эта функция была введена в Qt 5.8.
См. также fromCGSize().
QSize QSizeF::toSize() const
Возвращает целочисленную копию этого размера.
Обратите внимание, что координаты в возвращённом размере будут округляться до ближайшего целого числа.
См. также QSizeF().
void QSizeF::transpose()
Меняет местами значения ширины и высоты.
См. также setWidth(), setHeight() и transposed().
[since 5.0] QSizeF QSizeF::transposed() const
Возвращает размер со значениями ширины и высоты, поменянными местами.
Эта функция была введена в Qt 5.0.
См. также transpose().
qreal QSizeF::width() const
Возвращает ширину.
См. также height() и setWidth().
QSizeF &QSizeF::operator*=(qreal factor)
Это перегруженный метод.
Умножает ширину и высоту на заданный factor и возвращает ссылку на размер.
См. также scale().
QSizeF &QSizeF::operator+=(const QSizeF &size)
Добавляет заданный size к этому размеру и возвращает ссылку на этот размер. Например:
QSizeF s( 3, 7); QSizeF r(-1, 4); s += r; // s becomes (2,11)
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 и возвращает ссылку на размер.
См. также scale().
Связанные нечлены
bool operator!=(const QSizeF &s1, const QSizeF &s2)
Возвращает true , если s1 и s2 достаточно различны; в противном случае возвращает false.
Предупреждение: Эта функция не проверяет строгое неравенство; вместо этого она использует приближенное сравнение для сравнения размеров.
QSizeF operator*(const QSizeF &size, qreal factor)
Это перегруженная функция.
Умножает заданный размер size на заданный множитель factor и возвращает результат.
См. также QSizeF::scale().
QSizeF operator*(qreal factor, const QSizeF &size)
Это перегруженная функция.
Умножает заданный размер size на заданный множитель factor и возвращает результат.
QSizeF operator+(const QSizeF &s1, const QSizeF &s2)
Возвращает сумму s1 и s2; каждый компонент складывается отдельно.
QSizeF operator-(const QSizeF &s1, const QSizeF &s2)
Возвращает s2, вычтенное из s1; каждый компонент вычитается отдельно.
QSizeF operator/(const QSizeF &size, qreal divisor)
Это перегруженная функция.
Делит заданный размер size на заданный делитель divisor и возвращает результат.
См. также QSizeF::scale().
QDataStream &operator<<(QDataStream &stream, const QSizeF &size)
Записывает заданный размер size в заданный поток stream и возвращает ссылку на поток.
См. также Сериализация типов данных Qt.
bool operator==(const QSizeF &s1, const QSizeF &s2)
Возвращает true , если s1 и s2 приблизительно равны; в противном случае возвращает false.
Предупреждение: Эта функция не проверяет строгое равенство; вместо этого она использует приближенное сравнение для сравнения размеров.
См. также qFuzzyCompare.
QDataStream &operator>>(QDataStream &stream, QSizeF &size)
Считывает размер из заданного потока stream в заданный size и возвращает ссылку на поток.
См. также Сериализация типов данных Qt.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-6.1/qsizef.html