Класс QBrush

   
На этом шаге рассмотрим класс QBrush.

   
Кисть используется для заполнения непрерывных контуров, таких как прямоугольники, эллипсы и многоугольники. Класс кисти QBrush определен в заголовочном файле QBrush.

   
Кисть задается двумя параметрами — цветом и образцом заливки.

   
Установить кисть можно методом QPainter::setBrush(), передав в него объект класса
QBrush или один из предопределенных шаблонов, указанных в табл. 1. Если заполнение не
нужно, то в метод QPainter::setBrush() следует передать значение NoBrush.

Таблица 1. Перечисление ВrushStyle пространства имен Qt

КонстантаЗначениеВид
NoBrush0нет заполнения
SolidPattern1
Dense1Pattern2
Dense2Pattern3
Dense3Pattern4
Dense4Pattern5
Dense5Pattern6
Dense6Pattern7
Dense7Pattern8
HorPattern9
VerPattern10
CrossPattern11
BDiagPattern12
FDiagPattern13
DiagCrossPattern14
LinearGradientPattern15
RadialGradientPattern16
ConicalGradientPattern17

   
Следующие строки устанавливают красную кисть с горизонтальной штриховкой:

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. Заполнение эллипса растровым изображением

   
Файлы приложения можно взять Предыдущий шаг
Содержание
Следующий шаг



Вы можете оставить комментарий, или Трекбэк с вашего сайта.

Оставить комментарий