QMap的一个简单的例子,讲解了QMap的使用方法,觉得有用就收藏起来咯~
QmapOperation.h
#ifndef QMAPOPERATION_H
#define QMAPOPERATION_H #include <QObject> #include <QMap> #include <QDebug> class QmapOperation : public QObject { Q_OBJECT public: explicit QmapOperation(QObject *parent = nullptr); //添加 void QmapInsert(); //修改 void QmapUpdata(); //查找 void QmapFind(QString key); //遍历 void QmapTraversal(); //删除 void QmapRemove(); public: QMap<QString,QString> m_cQmap; signals: public slots: }; #endif // QMAPOPERATION_H
QmapOperation.cpp
#include "QmapOperation.h"
QmapOperation::QmapOperation(QObject *parent) : QObject(parent)
{
}
void QmapOperation::QmapInsert()
{
m_cQmap.insert("aaa","leo");
m_cQmap.insert("bbb","Jason");
m_cQmap.insert("ccc","May");
m_cQmap.insert("ddd","Tom");
m_cQmap.insert("eee","Jack");
QmapTraversal();
}
void QmapOperation::QmapUpdata()
{
m_cQmap["bbb"] = "Bob";
QmapTraversal();
}
void QmapOperation::QmapFind(QString key)
{
QMap<QString, QString>::iterator i;
i = m_cQmap.find(key);
qDebug() << i.key() <<" ==> " << i.value();
}
void QmapOperation::QmapTraversal()
{
QMap<QString, QString>::const_iterator i;
for( i=m_cQmap.constBegin(); i!=m_cQmap.constEnd(); ++i)
{
qDebug() << i.key() <<" ==> " << i.value();
}
}
void QmapOperation::QmapRemove()
{
QMap<QString, QString>::iterator i;
for( i=m_cQmap.begin(); i!=m_cQmap.end(); ++i)
{
if(i.key() == "ccc")
{
m_cQmap.erase(i);
i = m_cQmap.begin()+1;//删除之后要将指针指向后面一个
}
}
QmapTraversal();
}
调用:
#include "QmapOperation.h"
QmapOperation* m_pQmapOperation = new QmapOperation();
qDebug() << "----insert----";
m_pQmapOperation->QmapInsert();
qDebug() << "----updata----";
m_pQmapOperation->QmapUpdata();
qDebug() << "----find----";
m_pQmapOperation->QmapFind("ccc");
qDebug() << "----remove----";
m_pQmapOperation->QmapRemove();
输出结果:
----insert----
"aaa" ==> "leo"
"bbb" ==> "Jason"
"ccc" ==> "May"
"ddd" ==> "Tom"
"eee" ==> "Jack"
----updata----
"aaa" ==> "leo"
"bbb" ==> "Bob"
"ccc" ==> "May"
"ddd" ==> "Tom"
"eee" ==> "Jack"
----find----
"ccc" ==> "May"
----remove----
"aaa" ==> "leo"
"bbb" ==> "Bob"
"ddd" ==> "Tom"
"eee" ==> "Jack"