На этом шаге рассмотрим класс QBrush.
Кисть используется для заполнения непрерывных контуров, таких как прямоугольники, эллипсы и многоугольники. Класс кисти QBrush определен в заголовочном файле QBrush.
Кисть задается двумя параметрами — цветом и образцом заливки.
Установить кисть можно методом QPainter::setBrush(), передав в него объект класса QBrush или один из предопределенных шаблонов, указанных в табл. 1. Если заполнение не нужно, то в метод QPainter::setBrush() следует передать значение NoBrush.
Следующие строки устанавливают красную кисть с горизонтальной штриховкой:
QPainter painter(this); painter.setBrush(QBrush(Qt::red, Qt::HorPattern));
Если в табл. 1 не нашлось подходящей кисти, то можно создать свою собственную с помощью стиля TexturePattern. Для использования этого стиля нужно передать в метод setTexture() растровое изображение. Также можно использовать растровое изображение при создании кисти:
QPainter painter(this); QPixmap pix(":/images/Koala.jpg"); painter.setBrush(QBrush(Qt::black, pix)); painter.drawEllipse(0, 0, 400, 250);
Пример, показанный на рис. 1, демонстрирует получившийся результат.
Рис.1. Заполнение эллипса растровым изображением
Файлы приложения можно взять здесь.
На следующем шаге рассмотрим градиенты.