重点:
1.QPainter在QWidget窗口的paintEvent中使用。
2.QPainter通常涉及到设置画笔、设置画刷、绘图(QPen、QBRcxlcIrush、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主要函数有:
画刷的样式内容如下:
&nb编程sp;其中材质(setTexture)的填充方法如下:
//设置画刷 QPixmap texturePixmap(":images/images/androidtexture.jpg"); QBrush brush; brush.setStyle(Qt::TexturePattern); //画刷填充样式 brush.setTexture(texturePixmap); //设置材质图片 painter.setBrush(brush);
继承画刷的子类有三种,主要是渐变填充效果(具体设置看代码的构造使用方法)
最后绘图 painter.drawRect(rect); 则包含多种绘制的方式有drawpoint(),drawLine(),drawArc()等RcxlcI等。
到此这篇关于Qt QPainter的使用方法的文章就介绍到这了,更多相关Qt QPainter内容请搜索编程客栈(www.devze.com)以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程客栈(www.devze.com)!
精彩评论