QList<QPair<QPointF, QPointF>> pointList;

1.项目中遇到一个需求,就是需要存储一个三个元组,又想按照插入的顺序存储(也就是不会进行自动排序)

    1.1.  结构体    ,访问麻烦,跨类传递,需要使用类名

    1.2. key/value存储,发现QMap,QHash,QMultiMap都会内部进行排序,

为什么不再加一层QPair?

QList<QPair<QPair<QPointF, QPointF>, bool>> pointList;

顺便把使用贴上:

void setData(const QList<QPair<QPair<QPointF, QPointF>, bool>> &pointList)
{
    for (int i = 0; i< pointList.size(); i++) {
        QPair<QPointF, QPointF> pairFist;
        pairFist.first = QPointF(0, 0);
        pairFist.second = pointList.at(i).first.second - pointList.at(i).first.first;

        QPair<QPair<QPointF, QPointF>, bool> pairSecond;
        pairSecond=(qMakePair(pairFist, pointList.at(i).second));

        m_pointList.append(pairSecond);
    }
}

 

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐