Класс QBrush
Класс QBrush определяет узор заливки фигур, нарисованных с помощью QPainter. Подробнее...
| Заголовок: | #include <QBrush> |
| qmake: | QT += gui |
Открытые функции
| QBrush() | |
| QBrush(Qt::BrushStyle style) | |
| QBrush(const QColor &color, Qt::BrushStyle style = Qt::SolidPattern) | |
| QBrush(Qt::GlobalColor color, Qt::BrushStyle style = Qt::SolidPattern) | |
| QBrush(const QColor &color, const QPixmap &pixmap) | |
| QBrush(Qt::GlobalColor color, const QPixmap &pixmap) | |
| QBrush(const QPixmap &pixmap) | |
| QBrush(const QImage &image) | |
| QBrush(const QBrush &other) | |
| QBrush(const QGradient &gradient) | |
| ~QBrush() | |
| const QColor & | color() const |
| const QGradient * | gradient() const |
| bool | isOpaque() const |
| const QMatrix & | matrix() const |
| void | setColor(const QColor &color) |
| void | setColor(Qt::GlobalColor color) |
| void | setMatrix(const QMatrix &matrix) |
| void | setStyle(Qt::BrushStyle style) |
| void | setTexture(const QPixmap &pixmap) |
| void | setTextureImage(const QImage &image) |
| void | setTransform(const QTransform &matrix) |
| Qt::BrushStyle | style() const |
| void | swap(QBrush &other) |
| QPixmap | texture() const |
| QImage | textureImage() const |
| QTransform | transform() const |
| QVariant | operator QVariant() const |
| bool | operator!=(const QBrush &brush) const |
| QBrush & | operator=(const QBrush &brush) |
| QBrush & | operator=(QBrush &&other) |
| bool | operator==(const QBrush &brush) const |
Связанные нечлены
| QDataStream & | operator<<(QDataStream &stream, const QBrush &brush) |
| QDataStream & | operator>>(QDataStream &stream, QBrush &brush) |
Подробное описание
Класс QBrush определяет узор заливки фигур, нарисованных с помощью QPainter.
Кисть имеет стиль, цвет, градиент и текстуру.
Стиль кисти style() определяет узор заливки, используя перечисление Qt::BrushStyle. По умолчанию стиль кисти Qt::NoBrush (в зависимости от способа создания кисти). Этот стиль сообщает рисовальщику не заливать фигуры. Стандартным стилем заливки является Qt::SolidPattern. Стиль можно установить при создании кисти с помощью соответствующего конструктора, а также функция setStyle() предоставляет возможность изменения стиля после создания кисти.
Цвет кисти color() определяет цвет узора заливки. Цвет может быть одним из предопределенных цветов Qt, Qt::GlobalColor, или любым другим настраиваемым QColor. Текущий цвет можно получить и изменить с помощью функций color() и setColor() соответственно.
Градиент gradient() определяет градиентную заливку, используемую, когда текущий стиль — это Qt::LinearGradientPattern, Qt::RadialGradientPattern или Qt::ConicalGradientPattern. Кисти градиента создаются путем указания QGradient в качестве аргумента конструктора при создании QBrush. Qt предоставляет три различных градиента: QLinearGradient, QConicalGradient и QRadialGradient — все они наследуют QGradient.
QRadialGradient gradient(50, 50, 50, 50, 50);
gradient.setColorAt(0, QColor::fromRgbF(0, 1, 0, 1));
gradient.setColorAt(1, QColor::fromRgbF(0, 0, 0, 0));
QBrush brush(gradient); Текстура texture() определяет пиксель, используемый, когда текущий стиль — Qt::TexturePattern. Кисть с текстурой можно создать, предоставив пиксель при создании кисти или используя setTexture().
Обратите внимание, что применение setTexture() устанавливает style() == Qt::TexturePattern, независимо от предыдущих настроек стиля. Кроме того, вызов setColor() не повлияет, если стиль — градиент. То же самое относится к стилю Qt::TexturePattern, если текущая текстура не является QBitmap.
Функция isOpaque() возвращает true , если кисть полностью непрозрачна, в противном случае false. Кисть считается непрозрачной, если:
- Компонент альфа текущего color() равен 255.
- У текстуры texture() нет канала альфа и она не является QBitmap.
- Все цвета в gradient() имеют компонент альфа, равный 255.
Для задания стиля и цвета линий и контуров используйте QPainter's pen, совместно с Qt::PenStyle и Qt::GlobalColor:QPainter painter(this); painter.setBrush(Qt::cyan); painter.setPen(Qt::darkCyan); painter.drawRect(0, 0, 100,100); painter.setBrush(Qt::NoBrush); painter.setPen(Qt::darkGreen); painter.drawRect(40, 40, 100, 100); Обратите внимание, что по умолчанию QPainter отображает контур (с использованием текущего пера) при рисовании фигур. Используйте |
Дополнительную информацию о рисовании в целом см. в разделе Система рисования.
См. также Qt::BrushStyle, QPainter и QColor.
Документация по функциям членов
QBrush::QBrush()
Создает кисть по умолчанию черного цвета со стилем Qt::NoBrush (то есть эта кисть не будет заливать фигуры).
QBrush::QBrush(Qt::BrushStyle style)
Создаёт кисть чёрного цвета с заданным стилем style.
См. также setStyle().
QBrush::QBrush(const QColor &color, Qt::BrushStyle style = Qt::SolidPattern)
Создаёт кисть с заданным цветом color и стилем style.
См. также setColor() и setStyle().
QBrush::QBrush(Qt::GlobalColor color, Qt::BrushStyle style = Qt::SolidPattern)
Создаёт кисть с заданным цветом color и стилем style.
См. также setColor() и setStyle().
QBrush::QBrush(const QColor &color, const QPixmap &pixmap)
Создаёт кисть с заданным цветом color и пользовательским узором, хранящимся в pixmap.
Стиль устанавливается в Qt::TexturePattern. Цвет будет иметь эффект только для QBitmaps.
См. также setColor() и setTexture().
QBrush::QBrush(Qt::GlobalColor color, const QPixmap &pixmap)
Создаёт кисть с заданным цветом color и пользовательским узором, хранящимся в pixmap.
Стиль устанавливается в Qt::TexturePattern. Цвет будет иметь эффект только для QBitmaps.
См. также setColor() и setTexture().
QBrush::QBrush(const QPixmap &pixmap)
Создаёт кисть с чёрным цветом и текстурой, установленной в заданном pixmap. Стиль устанавливается в Qt::TexturePattern.
См. также setTexture().
QBrush::QBrush(const QImage &image)
Создаёт кисть с чёрным цветом и текстурой, установленной в заданном image. Стиль устанавливается в Qt::TexturePattern.
См. также setTextureImage().
QBrush::QBrush(const QBrush &other)
Создаёт копию other.
QBrush::QBrush(const QGradient &gradient)
Создаёт кисть, основанную на заданном gradient.
Стиль кисти устанавливается в соответствующий стиль градиента (либо Qt::LinearGradientPattern, Qt::RadialGradientPattern, либо Qt::ConicalGradientPattern).
QBrush::~QBrush()
Удаляет кисть.
const QColor &QBrush::color() const
Возвращает цвет кисти.
См. также setColor().
const QGradient *QBrush::gradient() const
Возвращает градиент, описывающий эту кисть.
bool QBrush::isOpaque() const
Возвращает true если кисть полностью непрозрачна, иначе false. Кисть считается непрозрачной, если:
- Компонент альфа заданного color() равен 255.
- Её texture() не имеет канала альфа и не является QBitmap.
- Цвета в gradient() все имеют компонент альфа, равный 255.
- Это расширенный радиальный градиент.
const QMatrix &QBrush::matrix() const
Возвращает текущую матрицу преобразования для кисти.
Эта функция была добавлена в Qt 4.2.
См. также setMatrix().
void QBrush::setColor(const QColor &color)
Устанавливает цвет кисти на заданный цвет color.
Обратите внимание, что вызов setColor() не повлияет, если стиль является градиентом. То же самое относится к стилю Qt::TexturePattern, за исключением случаев, когда текущая текстура — QBitmap.
См. также color().
void QBrush::setColor(Qt::GlobalColor color)
Это перегруженная функция.
Устанавливает цвет кисти на заданный цвет color.
void QBrush::setMatrix(const QMatrix &matrix)
Устанавливает matrix в качестве явной матрицы преобразования для текущей кисти. Матрица преобразования кисти объединяется с матрицей преобразования QPainter для получения конечного результата.
Эта функция была добавлена в Qt 4.2.
См. также matrix().
void QBrush::setStyle(Qt::BrushStyle style)
Устанавливает стиль кисти на style.
См. также style().
void QBrush::setTexture(const QPixmap &pixmap)
Устанавливает pixmap кисти на pixmap. Стиль устанавливается в Qt::TexturePattern.
Текущий цвет кисти будет иметь эффект только для монохромных pixmap, т.е. для QPixmap::depth() == 1 (QBitmaps).
См. также texture().
void QBrush::setTextureImage(const QImage &image)
Устанавливает изображение кисти на image. Стиль устанавливается в Qt::TexturePattern.
Обратите внимание, что текущий цвет кисти не будет влиять на монохромные изображения, в отличие от вызова setTexture() с QBitmap. Если вы хотите изменить цвет монохромных изображений кистей, либо преобразуйте изображение в QBitmap с помощью QBitmap::fromImage() и установите получившийся QBitmap в качестве текстуры, либо измените записи в таблице цветов для изображения.
Эта функция была добавлена в Qt 4.2.
См. также textureImage() и setTexture().
void QBrush::setTransform(const QTransform &matrix)
Устанавливает matrix в качестве явной матрицы преобразования для текущей кисти. Матрица преобразования кисти объединяется с матрицей преобразования QPainter для получения конечного результата.
Эта функция была добавлена в Qt 4.3.
См. также transform().
Qt::BrushStyle QBrush::style() const
Возвращает стиль кисти.
См. также setStyle().
void QBrush::swap(QBrush &other)
Меняет местами кисть other с этой кистью. Эта операция очень быстрая и никогда не терпит неудачу.
Эта функция была добавлена в Qt 4.8.
QPixmap QBrush::texture() const
Возвращает пользовательский узор кисти или пустую pixmap, если пользовательский узор кисти не был задан.
См. также setTexture().
QImage QBrush::textureImage() const
Возвращает пользовательский узор кисти или пустое изображение, если пользовательский узор кисти не был задан.
Если текстура была задана как QPixmap, она будет преобразована в QImage.
Эта функция была добавлена в Qt 4.2.
См. также setTextureImage().
QTransform QBrush::transform() const
Возвращает текущую матрицу преобразования для кисти.
Эта функция была добавлена в Qt 4.3.
См. также setTransform().
QVariant QBrush::operator QVariant() const
Возвращает кисть как QVariant
bool QBrush::operator!=(const QBrush &brush) const
Возвращает true если кисть отличается от заданной brush; в противном случае возвращает false.
Две кисти различаются, если у них разные стили, цвета или преобразования, или разные pixmaps или градиенты в зависимости от стиля.
См. также operator==().
QBrush &QBrush::operator=(const QBrush &brush)
Присваивает заданную brush этой кисти и возвращает ссылку на эту кисть.
QBrush &QBrush::operator=(QBrush &&other)
Перемещающее присваивание other этому экземпляру QBrush.
Эта функция была добавлена в Qt 5.2.
bool QBrush::operator==(const QBrush &brush) const
Возвращает true если кисть равна заданной brush; в противном случае возвращает false.
Две кисти равны, если у них одинаковые стили, цвета и преобразования, а также одинаковые растровые изображения или градиенты в зависимости от стиля.
См. также operator!=().
Связанные нечлены
QDataStream &operator<<(QDataStream &stream, const QBrush &brush)
Записывает заданную brush в заданный stream и возвращает ссылку на stream.
См. также Сериализация типов данных Qt.
QDataStream &operator>>(QDataStream &stream, QBrush &brush)
Читает заданную brush из заданного stream и возвращает ссылку на stream.
См. также Сериализация типов данных Qt.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.12/qbrush.html