我是靠谱客的博主 天真季节,这篇文章主要介绍QPainter 绘图,现在分享给大家,希望可以做个参考。

头文件

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
#ifndef WIDGET_H #define WIDGET_H #include <QWidget> namespace Ui { class Widget; } class Widget : public QWidget { Q_OBJECT public: explicit Widget(QWidget *parent = 0); ~Widget(); protected: /* *1.回调函数(所有的虚函数都是回调函数) *2.此函数不需要用户调用,在刷新的时候自动调用 * 1.窗口显示的时候 * 2.最大化,最小化 * 3.窗口被遮挡,重新显示 * 4.用户强制刷新的时候 * 5.。。。 * 3.如果想使用画家类在窗口中画图,操作必须在paintEvent函数中完成 */ void paintEvent(QPaintEvent*); private: Ui::Widget *ui; }; #endif // WIDGET_H

源文件

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
#include "widget.h" #include "ui_widget.h" #include <QPainter> #include <QFont> Widget::Widget(QWidget *parent) : QWidget(parent), ui(new Ui::Widget) { ui->setupUi(this); } Widget::~Widget() { delete ui; } void Widget::paintEvent(QPaintEvent *) { //创建画家类对象 QPainter p(this); //指定绘图设备 //创建新画笔 QPen pen; pen.setColor(/*Qt::green*/QColor(0,255,0)); pen.setWidth(10); //像素 pen.setStyle(Qt::DotLine); //闭合区域使用画刷,填充 QBrush brush(Qt::blue); //QBrush brush(QPixmap::(":/tupian/tupian.jpg");---填充图片 p.setBrush(brush); //将新画笔设置给画家类 p.setPen(pen); //画背景图 p.drawPixmap(0,0,QPixmap(":/tupian/tupian.jpg")); //绘制图片 //画直线 p.drawLine(QPoint(100,100),QPoint(300,500)); //画椭圆 p.drawEllipse(QPoint(200,200),100,50); //画矩形 p.drawRect(400,200,200,200); //写字 QFont font("华文彩云",48,75,true); p.setFont(font); p.drawText(100,100,"嘿嘿嘿"); //窗口的最大宽度和高度 int width=this->width(); int height=this->height(); }

最后

以上就是天真季节最近收集整理的关于QPainter 绘图的全部内容,更多相关QPainter内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(87)

评论列表共有 0 条评论

立即
投稿
返回
顶部