QT中用什麼容器存儲三元組?結構體訪問太麻煩?又想讓其不進行自動排序?

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);
    }
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章