label vc

烂漫一生 提交于 2019-12-06 10:58:25
#pragma once

#include <QWidget>

#include <QPaintEvent>
#include <QPainter>
#include <QPixmap>
#include <QBrush>
#include <QPen>
#include <QRect>
#include <QImage>
#include <QMouseEvent>
#include <QDebug>
#include <QString>
#include <QPoint>
#include <QInputDialog>
#include <QMessageBox>
#include <vector>

#include "vcpoint.h"

class VCImgWidget :public QWidget
{
    Q_OBJECT
public:
    VCImgWidget(QWidget *parent);
    ~VCImgWidget();
    void paintEvent(QPaintEvent *event);
    void paintEvent1(QPaintEvent *event);

    //const QString imgName = NULL;
    void SetImgName(QString imgNameParam);
    QString GetImgName();
    std::vector<vcp::VCPoint> getVecPoints();
    std::vector<vcp::VCPoint> getVecPointsPolygon();

    void clearVecPointsData();
    void clearVecPolygonPointsData();
    int getDrawType();
    void setDrawType(int typeNum);

    void setClickCount(int clickCountParam);
    int getClickCount();

    double getDistanceBetween(QPoint startPoint, QPoint endPoint);
protected:
    void mousePressEvent(QMouseEvent * event);
    void mouseReleaseEvent(QMouseEvent *event);
    void mouseMoveEvent(QMouseEvent *event);

signals:
    void showLabels(QString labelStr,int num);

private slots:
    //void clearVecPointsData();

private:
    QString imgName = NULL;
    QPoint startPoint;
    QPoint endPoint;
    QPoint minPoint;
    QPoint startPointPolygon;

    int rectNum;
    bool isStart;
    QString labelStr;
    int drawType;  //0 默认  1  矩形   2  多边形

    std::vector<vcp::VCPoint> vec_vcpoint;
    std::vector<vcp::VCPoint> vec_vcpoint_polygon;
    int clickCount;
    bool isStartDrawRect = false;
};

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!