2013-08-25 5 views
1

런타임 : 내가 사용하고자 할 때이 좋아 QList 내가 좋아하는 QgraphicsScene에 상점에 대한 몇 가지 항목을 QList이 오류

QList<QGraphicsItem*> lineList; 

:

내가 런타임 오류가 발생했습니다
lineList[itemIndex++]=scene->createItemGroup(groupItems); 

. 왜 골동품인가요? 내가 linelist.append에 대해 알고 방법()

감사에 의해

.

+0

append를 사용할 때 런타임 오류가 발생합니까? –

+0

아니요, 추가에 대해 알고 있습니다. 내 색인으로 QList 주변을 서핑해야합니다. – dare

답변

5

새 QList를 만들려고한다고 가정하면 QList::append() or << operator을 사용해야합니다. Qt는 문서에서 :

T & QList :: 연산자 []는 수정 기준으로하여 인덱스 위치 I에있는 항목을 리턴 (Ⅰ INT). i는 목록에서 유효한 색인 위치 여야합니다 (예 : 0 < = i < 크기()). 이 기능은 매우 빠릅니다 (일정 시간). at() 및 value()도 참조하십시오.

은 그래서 QList::operator[]은 같은 목록을 채우는 데 사용할 수 없습니다.

1

itemIndex++이 같거나 lineList.size()에 아래에, 당신은 어쨌든 QList::insert

lineList.insert(itemIndex++, scene->createItemGroup(groupItems)); 

을 사용할 수 있습니다, 하나 개의 단위로 목록을 확장하기위한 append을 사용하는 것이 바람직하다라고 가정.