Класс QSize
Класс QSize определяет размер двумерного объекта с использованием целочисленной точности.
| Заголовок: | #include <QSize> |
| qmake: | QT += core |
Открытые функции
| QSize() | |
| QSize(int width, int height) | |
| QSize | boundedTo(const QSize &otherSize) const |
| QSize | expandedTo(const QSize &otherSize) 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) |
| CGSize | toCGSize() 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 &s1, const QSize &s2) |
| const QSize | operator*(const QSize &size, qreal factor) |
| const QSize | operator*(qreal factor, const QSize &size) |
| const QSize | operator+(const QSize &s1, const QSize &s2) |
| const QSize | operator-(const QSize &s1, const QSize &s2) |
| const QSize | operator/(const QSize &size, qreal divisor) |
| QDataStream & | operator<<(QDataStream &stream, const QSize &size) |
| bool | operator==(const QSize &s1, const QSize &s2) |
| QDataStream & | operator>>(QDataStream &stream, QSize &size) |
Подробное описание
Класс QSize определяет размер двумерного объекта с использованием целочисленной точности.
Размер задаётся шириной width() и высотой height(). Он может быть задан в конструкторе и изменён с помощью функций setWidth(), setHeight() или scale(), или с помощью арифметических операторов. Размер также можно изменить напрямую, получив ссылки на ширину и высоту с помощью функций rwidth() и rheight(). Наконец, ширину и высоту можно поменять местами, используя функцию transpose().
Функция isValid() определяет, является ли размер допустимым (допустимый размер имеет ширину и высоту, большие или равные нулю). Функция isEmpty() возвращает true, если хотя бы одна из ширины или высоты меньше или равна нулю, в противном случае возвращает false, а функция isNull() возвращает true только если и ширина, и высота равны нулю.
Используйте функцию expandedTo(), чтобы получить размер, содержащий максимальную высоту и ширину текущего размера и заданного размера. Аналогично, функция boundedTo() возвращает размер, содержащий минимальную высоту и ширину текущего размера и заданного размера.
Объекты QSize можно потоковать и сравнивать.
См. также QSizeF, QPoint и QRect.
Документация по членам-функциям
QSize::QSize()
Конструирует размер с недопустимой шириной и высотой (т.е., isValid() возвращает false).
См. также isValid().
QSize::QSize(int width, int height)
Конструирует размер с заданной width и height.
См. также setWidth() и setHeight().
QSize QSize::boundedTo(const QSize &otherSize) const
Возвращает размер, содержащий минимальную ширину и высоту текущего размера и заданного otherSize.
См. также expandedTo() и scale().
QSize QSize::expandedTo(const QSize &otherSize) const
Возвращает размер, содержащий максимальную ширину и высоту текущего размера и заданного otherSize.
См. также boundedTo() и scale().
int QSize::height() const
Возвращает высоту.
См. также width() и setHeight().
bool QSize::isEmpty() const
Возвращает true, если хотя бы одна из ширины или высоты меньше или равна 0; в противном случае возвращает false.
См. также isNull() и isValid().
bool QSize::isNull() const
Возвращает true, если и ширина, и высота равны 0; в противном случае возвращает false.
См. также isValid() и isEmpty().
bool QSize::isValid() const
Возвращает true, если и ширина, и высота больше или равны 0; в противном случае возвращает false.
См. также isNull() и isEmpty().
int &QSize::rheight()
Возвращает ссылку на высоту.
Использование ссылки позволяет напрямую изменять высоту. Например:
QSize size(100, 10); size.rheight() += 5; // size becomes (100,15)
См. также rwidth() и setHeight().
int &QSize::rwidth()
Возвращает ссылку на ширину.
Использование ссылки позволяет напрямую манипулировать шириной. Например:
QSize size(100, 10); size.rwidth() += 20; // size becomes (120,10)
См. также rheight() и setWidth().
void QSize::scale(int width, int height, Qt::AspectRatioMode 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().
void QSize::scale(const QSize &size, Qt::AspectRatioMode mode)
Это перегруженный метод.
Масштабирует размер до прямоугольника с заданным размером size, в соответствии со специфицированным режимом.
QSize QSize::scaled(int width, int height, Qt::AspectRatioMode mode) const
Возвращает размер, масштабированный до прямоугольника с заданной шириной и высотой, в соответствии со специфицированным режимом.
Этот метод был введен в Qt 5.0.
См. также scale().
QSize QSize::scaled(const QSize &s, Qt::AspectRatioMode mode) const
Это перегруженный метод.
Возвращает размер, масштабированный до прямоугольника с заданным размером s, в соответствии со специфицированным режимом.
Этот метод был введен в Qt 5.0.
void QSize::setHeight(int height)
Устанавливает высоту в заданную height.
См. также rheight(), height() и setWidth().
void QSize::setWidth(int width)
Устанавливает ширину в заданную width.
См. также rwidth(), width() и setHeight().
CGSize QSize::toCGSize() const
Создаёт CGSize из QSize.
Этот метод был введен в Qt 5.8.
См. также QSizeF::fromCGSize().
void QSize::transpose()
Меняет местами значения ширины и высоты.
См. также setWidth(), setHeight() и transposed().
QSize QSize::transposed() const
Возвращает QSize с переставленными местами шириной и высотой.
Этот метод был введен в Qt 5.0.
См. также transpose().
int QSize::width() const
Возвращает ширину.
См. также height() и setWidth().
QSize &QSize::operator*=(qreal factor)
Это перегруженный метод.
Умножает ширину и высоту на заданный factor и возвращает ссылку на размер.
Обратите внимание, что результат округляется до ближайшего целого числа.
См. также scale().
QSize &QSize::operator+=(const QSize &size)
Прибавляет заданный size к текущему размеру и возвращает ссылку на этот размер. Например:
QSize s( 3, 7); QSize r(-1, 4); s += r; // s becomes (2,11)
QSize &QSize::operator-=(const QSize &size)
Вычитает заданный size из текущего размера и возвращает ссылку на этот размер. Например:
QSize s( 3, 7); QSize r(-1, 4); s -= r; // s becomes (4,3)
QSize &QSize::operator/=(qreal divisor)
Это перегруженный метод.
Делит ширину и высоту на заданный divisor и возвращает ссылку на размер.
Обратите внимание, что результат округляется до ближайшего целого числа.
См. также QSize::scale().
Связанные нечленные методы
bool operator!=(const QSize &s1, const QSize &s2)
Возвращает true если s1 и s2 различны; в противном случае возвращает false.
const QSize operator*(const QSize &size, qreal factor)
Умножает заданный size на заданный factor и возвращает результат, округленный до ближайшего целого числа.
См. также QSize::scale().
const QSize operator*(qreal factor, const QSize &size)
Это перегруженный метод.
Умножает заданный size на заданный factor и возвращает результат, округленный до ближайшего целого числа.
const QSize operator+(const QSize &s1, const QSize &s2)
Возвращает сумму s1 и s2; каждый компонент складывается по отдельности.
const QSize operator-(const QSize &s1, const QSize &s2)
Возвращает s2, вычтенное из s1; каждый компонент вычитается по отдельности.
const QSize operator/(const QSize &size, qreal divisor)
Это перегруженный метод.
Делит заданный size на заданный divisor и возвращает результат, округленный до ближайшего целого числа.
См. также QSize::scale().
QDataStream &operator<<(QDataStream &stream, const QSize &size)
Записывает заданный size в заданный stream и возвращает ссылку на поток.
См. также Сериализация типов данных Qt.
bool operator==(const QSize &s1, const QSize &s2)
Возвращает true если s1 и s2 равны; в противном случае возвращает false.
QDataStream &operator>>(QDataStream &stream, QSize &size)
Считывает размер из заданного stream в заданный size и возвращает ссылку на поток.
См. также Сериализация типов данных Qt.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/archives/qt-5.11/qsize.html