ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

QBrush

2022-05-09 02:32:47  阅读:203  来源: 互联网

标签:const Qt color void 样式 QBrush


QBrush

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

 

 

QBrush类定义QPaint绘制的形状的填充图案。

 

画笔有风格、颜色、渐变和纹理。

 

笔刷样式()使用Qt::brushtyle枚举定义填充图案。默认的笔刷样式是Qt::NoBrush(取决于构建笔刷的方式)。这种风格告诉画家不要填充形状。填充的标准样式是Qt::SolidPattern。当使用适当的构造函数创建画笔时,可以设置样式,此外,setStyle()函数提供了在构建画笔后更改样式的方法。

 

 

笔刷颜色()定义填充图案的颜色。颜色可以是Qt的预定义颜色之一,Qt::GlobalColor,也可以是任何其他自定义QColor。可以分别使用color()和setColor()函数检索和更改当前设置的颜色。

 

gradient()定义当前样式为Qt::LinearGradientPattern、Qt::RadialGradientPattern或Qt::ConicalGradientPattern时使用的渐变填充。在创建QBrush时,通过将QGradient作为构造函数参数来创建渐变笔刷。Qt提供了三种不同的梯度:QlineArgradent、qconicalGradent和qradialGradent——所有这些都继承了QGradent。

 

      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时使用的pixmap。可以通过在创建笔刷时提供pixmap或使用setTexture()来创建具有纹理的笔刷。

 

请注意,无论以前的样式设置如何,应用setTexture()都会使style()==Qt::TexturePattern。此外,如果样式为渐变,则调用setColor()不会产生任何影响。如果样式为Qt::TexturePattern样式,则情况也是如此,除非当前纹理是QBitmap。

 

如果笔刷完全不透明,则isOpaque()函数返回true,否则返回false。在下列情况下,刷子被视为不透明:

 

color()的alpha分量是255。

它的纹理()没有alpha通道,也不是QBitmap。

渐变()中的颜色都有一个255的alpha分量。

 

 

 

要指定线条和轮廓的样式和颜色,请将QPaint的画笔与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);

请注意,默认情况下,QPaint在绘制形状时渲染轮廓(使用当前设置的笔)。使用油漆工。setPen(Qt::NoPen)禁用此行为。

 

 

 

 

 

 

 

 

 

############################

 

标签:const,Qt,color,void,样式,QBrush
来源: https://www.cnblogs.com/herd/p/16241957.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有