2012-12-19 2 views
0

QListWidget에 요소를 추가하는 데 문제가 있습니다. QtDesigner로 프레임을 만든 다음 코드의 일부 요소를 추가하고 싶습니다. 내가 쓸 때 :QListWidget에 추가하는 동안 SIGSEGV

QListWidgetItem* i = new QListWidgetItem("text"); 
Q_ASSERT(stepsList); 
qDebug() << "before"; 
stepsList->addItem(i); 
qDebug() << "after"; 

그것은 단지 "전에"인쇄하고 SIGSEGV와 충돌합니다.

Program received signal SIGSEGV, Segmentation fault. 
0x00007ffff6f2a4a4 in QListWidget::count() const() 
from /usr/lib/x86_64-linux-gnu/libQtGui.so.4 

이유는 무엇입니까 : Additionaly,이와 같은 오류 메시지가 관리?

+0

'stepsList'는 어디에서 어떻게 선언 되었습니까? – maverik

+1

'stepsList'가'addItem'을 호출하기 전에 초기화되지 않았다면 잘못된 포인터를 역 참조하고있는 것입니다. 그건 당신에게 SIGSEGV를 줄 것입니다. –

+0

글쎄, 무슨 말해야할지 모르겠다. 방금 setupUI를 호출하기 전에 이것을 만들고 있음을 깨달았습니다. 문제 해결됨. 감사. – joval

답변

0

음, 받아 들일는 내가 잘못 무엇을 쓸 것이다 그래서 필요하다 :

나는 @Timo Geusch 쓴대로 stepsList을 초기화하기 위해, 첫째 setupUi()를 호출 할 필요가 있었다.

해결되었습니다.