실패 levelObjects가 그 QMaps의 QVariants의 QList를 실물 : 나는 QMaps 중 하나에 뭔가의 값을 변경하려고 할 때, 나중에Qt는 QMap.insert() 내가 가진
QList<QVariant> levelObjects;
, 그것은 아무튼 (
Before - 207 , newX = 209.665
QMap(("frame_name", QVariant(QString, "bumper.png")) ("height" , QVariant(QString, "25")) ("name" , QVariant(QString, "Bumper")) ("power" , QVariant(QString, "70")) ("rotation" , QVariant(QString, "0")) ("type" , QVariant(QString, "Bumper")) ("width" , QVariant(QString, "25")) ("x" , QVariant(QString, "207")) ("y" , QVariant(QString, "349")))
After - 207
를 취소하려면와 코드 (사람의 기분을 상하게하는 라인을 통해 스테핑 :
qDebug() << "Before - " << levelObjects[id].toMap().value("x").toFloat() << ", newX = " << posX;
qDebug() << levelObjects[id].toMap();
QString stringNum = QString::number(posX);
levelObjects[id].toMap().insert("x", stringNum);
qDebug() << "After - " << levelObjects[id].toMap().value("x").toFloat();
생산 : 'T는 아무것도 할 것으로 보인다)), QVariants와 관련된 여러 어셈블리 서브 루틴을 거친 다음 QMap :: insert()를 거쳐 더 많은 어셈블리가 생성된다는 것을 알 수 있습니다. 내 생각에 이것은 다른 곳에서 코드가 실행되는 어떤 종류의 신호를 유발했을 수도 있지만 그럴 것 같지 않습니다.
의견이 있으십니까?
편집 : 해결 방법을 통해 문제를 해결했습니다. 중간 QVariant를 없애고 levelObject를 QMaps의 QList가되도록했습니다. 그러나, 왜 이런 일이 일어 났는지에 대한 통찰력이 있다면 나는 여전히 궁금합니다. 라인에
아, 맞아. 감사. – numegil