На этом шаге рассмотрим использование отсечения.
Отсечения ограничивают вывод графики определенной областью (многоугольником или эллипсом). Если осуществляется попытка рисования за этими пределами, то оно будет невидимым. Установка прямоугольной области отсечения выполняется с помощью метода setClipRect(). Метод setClipRect() устанавливает прямоугольную область отсечения. Продемонстрируем отсечение фигуры эллипса прямоугольной областью (рис. 1).
Рис.1. Пример отсечения прямоугольной областью
QPainter painter(this); painter.setRenderHint(QPainter::Antialiasing, true); painter.setClipRect(50, 50, 200, 100); int k=0; for(int i=0;i<3;i++) { painter.setBrush(QBrush(Qt::blue)); painter.setPen(QPen(Qt::green, 2)); painter.drawEllipse(50*i+k, 50, 100, 200); k+=50; painter.setBrush(QBrush(Qt::green)); painter.setPen(QPen(Qt::blue, 2)); painter.drawEllipse(50*i+k, 50, 100, 200); }
Файлы приложения можно взять Предыдущий шаг
Содержание
Следующий шаг