C 语言

关注公众号 jb51net

关闭
首页 > 软件编程 > C 语言 > Qt QPainter

Qt QPainter的使用方法

作者:qq_1410888563

QPainter是Qt的一个绘图类,它的主要任务是在绘图设备上进行2D图形渲染,本文主要介绍了Qt QPainter的使用方法,具有一定的参考价值,感兴趣的可以了解一下

重点:

1.QPainter在QWidget窗口的paintEvent中使用。

2.QPainter通常涉及到设置画笔、设置画刷、绘图(QPen、QBrush、drawxx)三个流程。

class Widget : public QWidget
{
    Q_OBJECT


protected:
    void    paintEvent(QPaintEvent *event) Q_DECL_OVERRIDE;

public:
    Widget(QWidget *parent = nullptr);
    ~Widget();

private:
    Ui::Widget *ui;
};


oid Widget::paintEvent(QPaintEvent *event)
{
   QPainter    painter(this);  //创建QPainter对象
   painter.setRenderHint(QPainter::Antialiasing);
   painter.setRenderHint(QPainter::TextAntialiasing);
   
   int W=this->width();    //绘图区宽度
   int H=this->height();   //绘图区高度
   QRect   rect(W/4,H/4,W/2,H/2);  //中间区域矩形框
   
   //设置画笔
   QPen    pen;
   pen.setWidth(3);        //线宽
   pen.setColor(Qt::red);  //划线颜色
   pen.setStyle(Qt::SolidLine);    //线的样式,实线、虚线等
   pen.setCapStyle(Qt::FlatCap);   //线端点样式
   pen.setJoinStyle(Qt::BevelJoin);    //线的连接点样式
   painter.setPen(pen);
   
   //设置画刷
   QBrush  brush;
   brush.setColor(Qt::yellow); //画刷颜色
   brush.setStyle(Qt::SolidPattern); //画刷填充样式
   painter.setBrush(brush);
   
   //绘图
   painter.drawRect(rect);     //填充定义的渐变区域
   
    event->accept();
}

其中QPen设计三种方式:

 其中QBrush主要函数有:

 画刷的样式内容如下:

 其中材质(setTexture)的填充方法如下:

   //设置画刷
    QPixmap texturePixmap(":images/images/texture.jpg");
    QBrush  brush;
    brush.setStyle(Qt::TexturePattern);     //画刷填充样式
    brush.setTexture(texturePixmap);        //设置材质图片
    painter.setBrush(brush);

继承画刷的子类有三种,主要是渐变填充效果(具体设置看代码的构造使用方法)

最后绘图 painter.drawRect(rect);   则包含多种绘制的方式有drawPoint(),drawLine(),drawArc()等等。

到此这篇关于Qt QPainter的使用方法的文章就介绍到这了,更多相关Qt QPainter内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文