Класс QBrush

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

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

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

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

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

Константа Значение Вид
NoBrush 0 нет заполнения
SolidPattern 1
Dense1Pattern 2
Dense2Pattern 3
Dense3Pattern 4
Dense4Pattern 5
Dense5Pattern 6
Dense6Pattern 7
Dense7Pattern 8
HorPattern 9
VerPattern 10
CrossPattern 11
BDiagPattern 12
FDiagPattern 13
DiagCrossPattern 14
LinearGradientPattern 15
RadialGradientPattern 16
ConicalGradientPattern 17

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

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

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



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

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