加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
maparea.h 886 Bytes
一键复制 编辑 原始数据 按行查看 历史
qizr 提交于 2021-12-24 21:38 . add draw area
#ifndef MAPAREA_H
#define MAPAREA_H
#include <QAbstractGraphicsShapeItem>
#include <QPolygonF>
#include <QPen>
namespace EasyGIS {
class MapLayer;
/**
* @brief 绘制区域
*/
class Maparea : public QAbstractGraphicsShapeItem
{
public:
explicit Maparea(const MapLayer *layer, QGraphicsItem *parent = nullptr)
: mLayer(layer), QAbstractGraphicsShapeItem(parent) {
QPen pen(Qt::red);
pen.setWidth(2);
this->setPen(pen);
QColor color(Qt::red);
color.setAlpha(50);
this->setBrush(color);
}
~Maparea() override = default;
void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget) override;
QRectF boundingRect() const override;
void append(QPointF mkt_point);
QPointF& lastMktpoint();
private:
const MapLayer *mLayer;
QPolygonF mkt_points;
};
}
#endif // MAPAREA_H
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化