두 클래스가 있습니다 : point
및 mainwindow
입니다. 내가 mainwindow.cpp에 포인트 클래스의 객체를 생성Qt 벡터 크기는 동일합니다.
point *item;
:
void MainWindow::drawPoint(){
item = new point;
scene->addItem(item);
}
이 기능은 qgraphicsscene
에서 점의 그림을 가능으로 나는 mainwindow.h에 포인트 클래스의 포인터를 선언했다.
포인트 클래스에 QPointF
값을 저장하는 벡터가 있습니다. 저장소 클래스는 벡터 유형입니다.
QVector<storage> point_vector;
set_point()
은 포인트 p1의 값을 설정하는 저장 클래스에 정의됩니다. mainwindow.cpp의 벡터를 반복에
storage store_point;
store_point.set_point(p1);
point_vector.push_back(store_point);
, 나는이 장면에서 여러 지점을 만들 수 있지만
for(it = item->point_vector.begin(); it != item->point_vector.end(); it++)
{
qDebug() << "size" << item->point_vector.size() << "\n";
}
, 벡터의 크기는 항상 1
내가이있을 것 같아요 남아 함수 drawPoint()
이 호출 될 때마다 점 클래스의 이전 객체가 무시되기 때문입니다.
이 문제를 해결하는 방법을 알 수 없습니다. 어떤 도움을 주시면 감사하겠습니다.
관련 코드
귀하의 코드가 너무 많이 퍼져있다 http://www.paste.org/74408
누가 'point_vector'벡터가 언제, 어떻게 변경 되었습니까? – vahancho
@vahancho 내 질문을 편집했습니다. 참조하십시오. –
질문 자체에 간단한 예를 넣어야합니다. 외부 링크가 좋지 않거나 adblock을 사용하는 경우로드되지 않는 불쾌한 페이지로 연결됩니다. –