Отрисовка и заливкаРисованиеQPainter предоставляет тщательно оптимизированные функции для выполнения большей части рисования, необходимого программам с ГПИ. Он может нарисовать всё, начиная с простых графических примитивов (представляемых классами QPoint, QLine, QRect, QRegion и QPolygon) и заканчивая сложными фигурами, например, векторными траекториями. В Qt векторные траектории представлены классом QPainterPath. QPainterPath предоставляет контейнер для операций рисования, позволяющий создавать и повторно использовать графические фигуры.
Линии и контуры рисуются используя класс QPen. Перо определяется своим стилем (т.е. своим типом линии, line-type), шириной, кистью, способом рисования точек окончания (стилем окончаний, cap-style) и как рисуется место соединения двух соединенных линий (стиль объединения, join-style). Кистью пера является объект QBrush, используемый для заполнения штрихов, создаваемых пером, т.е. класс QBrush определяет узор-заполнитель (fill pattern). QPainter также может рисовать выровненный текст и растровые изображения. При отрисовке текста шрифт задается используя класс QFont. Qt будет использовать шрифт с заданными атрибутами или, если нет соответствующего шрифта, то Qt будет использовать наиболее похожий установленный шрифт. Атрибуты шрифта, которые действительно используются, можно получить используя класс QFontInfo. Кроме того, класс QFontMetrics предоставляет размеры шрифта, а класс QFontDatabase предоставляет информацию о шрифтах, доступных в основной оконной системе. Обычно QPainter рисует в "естественной" системе координат, но может выполнять преобразование вида и мировое преобразование, используя класс QTransform. Для получения дополнительной информации смотрите Система координат, которая также описывает процесс визуализации, т.е. соотношение между логическим представлением и визуализируемыми пикселями, а также преимущества сглаженного рисования.
ЗаливкаФигуры заполняются с использованием класса QBrush. Кисть определяется своим цветом и стилем (т.е. своим узором-заполнителем). Все цвета в Qt представляются классом QColor, который поддерживает цветовые модели RGB, HSV и CMYK. QColor также поддерживает альфа-смешивание контуров и внутренних областей (задавая эффект прозрачности), а класс является независимым от платформы и устройства (цвета отображаются на аппаратное обеспечение с использованием класса QColormap). Для получения дополнительной информации смотрите документацию класса QColor. При создании нового виджета рекомендуется использовать цвета палитры виджета вместо жестко запрограммированных конкретных цветов. Все виджеты в Qt содержат палитру и используют свою палитру для отрисовки самих себя. Палитра виджета представляется классом QPalette, который содержит группы цветов для каждого состояния виджета. Доступные узоры-заполнители описываются перечислением Qt::BrushStyle. Оно включает базовые шаблоны, простирающиеся от равномерного цвета до очень разреженного шаблона, различные комбинации линий, градиентные заливки и текстуры. Qt предоставляет класс QGradient для определения пользовательских градиентных заливок, в то время как текстурные шаблоны задаются используя класс QPixmap.
|
Попытка перевода Qt документации. Если есть желание присоединиться, или если есть замечания или пожелания, то заходите на форум: Перевод Qt документации на русский язык... Люди внесшие вклад в перевод: Команда переводчиков |