Qt 使用自定义的数据类型作为QMap的Key(Class)
由于项目需要,有大量数据需要存入QMap中进行调用,而每个存入的数据包含:方位角度、距离、高度 因此我自定义数据类型PointData,为了让自定义数据能放入QVariant中,因此对自定义的数据类型PointData使用宏Q_DECLARE_METATYPE QMap<key,value>中数据存入时会对存入数据进行比较,并按照比较后的顺序进行排序存储,因此需要重载运算< 为方便调试输入调试信息,我同时重载了运算符<<,输入QDebug信息。 先看PointData数据类型: PointData.h #ifndef POINTDATA_H #define POINTDATA_H #include <QMetaType> #include <QDebug> class PointData { public: PointData(); PointData(const PointData& other); ~PointData(); PointData(const int &azimuth, const int &distance,const int& height); int azimuth() const; int distance() const; int height() const; int Azimuth; int Distance; int Height; private