Класс QSize
Класс QSize определяет размер двумерного объекта с использованием целых точек. Подробнее...
| Заголовок: | #include <QSize> |
| CMake: | find_package(Qt6 COMPONENTS Core REQUIRED) target_link_libraries(mytarget PRIVATE Qt6::Core) |
| qmake: | QT += core |
Открытые функции
| QSize(int width, int height) | |
| QSize() | |
| QSize | boundedTo(const QSize &otherSize) const |
| QSize | expandedTo(const QSize &otherSize) const |
| QSize | grownBy(QMargins margins) 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) |
| QSize | shrunkBy(QMargins margins) const |
| 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) |
| QSize | operator*(const QSize &size, qreal factor) |
| QSize | operator*(qreal factor, const QSize &size) |
| QSize | operator+(const QSize &s1, const QSize &s2) |
| QSize | operator-(const QSize &s1, const QSize &s2) |
| 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) |
Подробное описание
Размер задается шириной(width()) и высотой(height()). Его можно задать в конструкторе и изменить с помощью функций setWidth(), setHeight() или scale(), или используя арифметические операторы. Размер также можно изменять напрямую, получив ссылки на ширину и высоту с помощью функций rwidth() и rheight(). Наконец, ширину и высоту можно поменять местами с помощью функции transpose().
Функция isValid() определяет, является ли размер допустимым (допустимый размер имеет ширину и высоту больше или равную нулю). Функция isEmpty() возвращает true если ширина или высота меньше или равна нулю, а функция isNull() возвращает true только если ширина и высота равны нулю.
Используйте функцию expandedTo(), чтобы получить размер, содержащий максимальную высоту и ширину этого размера и заданного размера. Аналогично, функция boundedTo() возвращает размер, содержащий минимальную высоту и ширину этого размера и заданного размера.
Объекты QSize можно потоково передавать и сравнивать.
См. также QSizeF, QPoint и QRect.
Документация по функциям-членам
[since 5.14] QSize QSize::shrunkBy(QMargins margins) const
Возвращает размер, полученный в результате уменьшения этого размера на margins.
Эта функция была добавлена в Qt 5.14.
См. также grownBy().
[since 5.14] QSize QSize::grownBy(QMargins margins) const
Возвращает размер, полученный в результате увеличения этого размера на margins.
Эта функция была добавлена в Qt 5.14.
См. также shrunkBy().
QSize::QSize(int width, int height)
Конструирует размер с заданной шириной и высотой.
См. также setWidth() и setHeight().
QSize::QSize()
Конструирует размер с недопустимой шириной и высотой (т.е. isValid() возвращает false).
См. также isValid().
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)
Это перегруженный метод.
Масштабирует размер до прямоугольника с заданным размером, в соответствии со специфицированным режимом.
[since 5.0] QSize QSize::scaled(int width, int height, Qt::AspectRatioMode mode) const
Возвращает размер, масштабированный до прямоугольника с заданной шириной и высотой, в соответствии со специфицированным режимом.
Эта функция была добавлена в Qt 5.0.
См. также scale().
[since 5.0] QSize QSize::scaled(const QSize &s, Qt::AspectRatioMode mode) const
Это перегруженный метод.
Возвращает размер, масштабированный до прямоугольника с заданным размером s, в соответствии со специфицированным режимом.
Эта функция была добавлена в Qt 5.0.
void QSize::setHeight(int height)
Устанавливает высоту в заданную высоту.
См. также rheight(), height() и setWidth().
void QSize::setWidth(int width)
Устанавливает ширину в заданную ширину.
См. также rwidth(), width() и setHeight().
[since 5.8] CGSize QSize::toCGSize() const
Создаёт CGSize из QSize.
Эта функция была добавлена в Qt 5.8.
См. также QSizeF::fromCGSize().
void QSize::transpose()
Меняет местами значения ширины и высоты.
См. также setWidth(), setHeight() и transposed().
[since 5.0] QSize QSize::transposed() const
Возвращает QSize со значениями ширины и высоты, поменянными местами.
Эта функция была добавлена в Qt 5.0.
См. также transpose().
int QSize::width() const
Возвращает ширину.
См. также height() и setWidth().
QSize &QSize::operator*=(qreal factor)
Это перегруженный метод.
Умножает ширину и высоту на заданный множитель и возвращает ссылку на размер.
Обратите внимание, что результат округляется до ближайшего целого числа.
См. также scale().
QSize &QSize::operator+=(const QSize &size)
Добавляет заданный размер к текущему размеру и возвращает ссылку на этот размер. Например:
QSize s( 3, 7); QSize r(-1, 4); s += r; // s becomes (2,11)
QSize &QSize::operator-=(const QSize &size)
Вычитает заданный размер из текущего размера и возвращает ссылку на этот размер. Например:
QSize s( 3, 7); QSize r(-1, 4); s -= r; // s becomes (4,3)
QSize &QSize::operator/=(qreal divisor)
Это перегруженный метод.
Делит ширину и высоту на заданный делитель и возвращает ссылку на размер.
Обратите внимание, что результат округляется до ближайшего целого числа.
См. также QSize::scale().
END_OF_DOCUMENT_MARKERСвязанные нечлены
bool operator!=(const QSize &s1, const QSize &s2)
Возвращает true если s1 и s2 различны; в противном случае возвращает false.
QSize operator*(const QSize &size, qreal factor)
Умножает заданный size на заданный factor и возвращает результат, округлённый до ближайшего целого числа.
См. также QSize::scale().
QSize operator*(qreal factor, const QSize &size)
Это перегруженная функция.
Умножает заданный size на заданный factor и возвращает результат, округлённый до ближайшего целого числа.
QSize operator+(const QSize &s1, const QSize &s2)
Возвращает сумму s1 и s2; каждый компонент добавляется отдельно.
QSize operator-(const QSize &s1, const QSize &s2)
Возвращает s2, вычтенное из s1; каждый компонент вычитается отдельно.
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/qt-6.2/qsize.html