Шаг 185.
Библиотека Qt.
Классы геометрии. Двумерный размер

    На этом шаге рассмотрим классы QSize и QSizeF.

    Классы QSize и QSizeF служат для хранения целочисленных и вещественных размеров. Оба класса обладают одинаковыми интерфейсами. Структура очень похожа на QPoint, т. к. хранит две величины, над которыми можно проводить операции сложения/вычитания и умножения/деления.

    Классы QSize и QSizeF, как и классы QPoint, QPointF, предоставляют операторы сравнения ==, != и метод isNull(), возвращающий значение true в том случае, если высота и ширина равны нулю.

    Для получения ширины и высоты вызываются методы width() и height(). Изменить эти параметры можно с помощью методов setWidth() и setHeight(). При помощи методов rwidth() и rheight() получают ссылки на значения ширины и высоты. Например:

QSize size(10, 20);
int n = size.rwidth()++; // n = 11; size = (11, 20)

    Помимо них класс предоставляет метод scale(), позволяющий изменять размеры оригинала согласно переданному в первом параметре размеру. Второй параметр этого метода управляет способом изменения размера (рис. 1 - 3), а именно:

    Файлы приложения, иллюстрирующего изменение размера оригинала, можно взять здесь.

    На следующем шаге рассмотрим следующий класс геометрии - прямоугольник.




Предыдущий шаг Содержание Следующий шаг