2014-07-22 2 views
0

oldFiles 및 oldDirectories라는 두 개의 QStringList 포인터 변수가 있습니다. 그들은 같은 양의 아이템을 포함 할 것입니다.QT 응용 프로그램이 QStringList 포인터로 충돌 함

나는 그 중 하나를 반복하고 QLabel에 oldFiles 텍스트를 표시하고 각각에 동반되는 QTextEdit를 생성하려고합니다.

그래서 oldFiles QStringList에 엔트리가 3 개있는 경우 label 및 textedit을 3 번 입력해야합니다.

QVBoxLayout *vbox = new QVBoxLayout; 

for(int i=0; i<oldFiles->size(); ++i){ 
    QString labelText = oldFiles[i]; 
    QLabel *label = new QLabel(); 
    label->setText(labelText); 
    vbox->addWidget(label); 
    QTextEdit *text = new QTextEdit(); 
    vbox->addWidget(text); 
} 

ui->widget->setLayout(vbox); 

첫째, 그것은 QString에 QStringList에서 변환을 말하는 라인 QString labelText = oldFiles[i];에 오류를 던지고하는 것은 실용적되지 않습니다 :

나는 다음과 같은 코드가 있습니다.

또한이 코드는 응용 프로그램을 손상시키고 무엇이 잘못되었는지를 잘 모릅니다.

감사합니다. 난 당신이 또한

QString labelText = oldFiles->at(i); 

을 할 수 있지만, 저를 인용하지 않는 생각

QString labelText = (*oldFiles)[i]; 

:

답변

1

oldFiles 그 인덱스를 액세스하기 전에 당신이 먼저 역 참조 할 필요가 의미하는 QStringList 포인터입니다 그걸로 제 Qt는 녹슬 었어요.

관련 문제