我是靠谱客的博主 热心白云,这篇文章主要介绍QT——画一个三角形,现在分享给大家,希望可以做个参考。

.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
#pragma once #include <QtWidgets/QWidget> #include <QPainter> #include <QMouseEvent> #include <QVector> #include <QMap> #include <QPoint> #include "ui_QtWidgetsApplication1.h" class QtWidgetsApplication1 : public QWidget { Q_OBJECT public: QtWidgetsApplication1(QWidget *parent = Q_NULLPTR); virtual void paintEvent(QPaintEvent *event) override; //鼠标按下 void mousePressEvent(QMouseEvent *e); //鼠标移动 void mouseMoveEvent(QMouseEvent *e); //鼠标抬起 void mouseReleaseEvent(QMouseEvent *e); private: Ui::QtWidgetsApplication1Class ui; QPoint lineStartPoint; //画线起点 QPoint lineEndPoint; //画线终点 QColor lineColor; //线条颜色 int lineSize; //5种线型 bool isPressed; QVector<QPoint>pointList; };

.cpp

复制代码
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
49
50
51
52
53
54
55
56
#include "QtWidgetsApplication1.h" QtWidgetsApplication1::QtWidgetsApplication1(QWidget *parent) : QWidget(parent) { ui.setupUi(this); this->lineStartPoint = QPoint(0, 0); this->lineEndPoint = QPoint(0, 0); this->lineColor = QColor(Qt::black); this->lineSize = 3; } void QtWidgetsApplication1::paintEvent(QPaintEvent *event) { QPainter painter(this); QPen pen; pen.setColor(lineColor); pen.setWidth(lineSize); painter.setPen(pen); painter.drawLine(lineStartPoint, lineEndPoint); for (int i = 0; i < pointList.size() - 1; i++) { painter.drawLine(pointList[i], pointList[i+1]); i++; } } void QtWidgetsApplication1::mousePressEvent(QMouseEvent * e) { lineStartPoint = e->pos(); lineEndPoint = e->pos(); //在图片上绘制 isPressed = true; } void QtWidgetsApplication1::mouseMoveEvent(QMouseEvent * e) { if (isPressed) { lineEndPoint = e->pos(); update(); } } void QtWidgetsApplication1::mouseReleaseEvent(QMouseEvent * e) { isPressed = false; update(); pointList.append(lineStartPoint); pointList.append(lineEndPoint); }

最后

以上就是热心白云最近收集整理的关于QT——画一个三角形的全部内容,更多相关QT——画一个三角形内容请搜索靠谱客的其他文章。

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

评论列表共有 0 条评论

立即
投稿
返回
顶部