我有两个QStringList指针变量,分别称为oldFiles和oldDirectories。它们将包含相同数量的项目。
我想遍历其中一个,然后在QLabel上显示oldFiles文本,并创建一个QTextEdit来陪伴每个人。
因此,如果oldFiles QStringList中有3个Enteries,我想要一个标签和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 labelText = oldFiles[i];
上引发错误,指出从QStringList到QString的转换不可行。另外,此代码使应用程序崩溃,不确定是什么问题?
谢谢。
最佳答案
oldFiles
是QStringList指针,这意味着您需要在访问索引之前首先取消引用它:
QString labelText = (*oldFiles)[i];
我相信你也可以
QString labelText = oldFiles->at(i);
但不要在这方面引用我,我的Qt生锈了。
关于c++ - QT应用程序崩溃与QStringList指针,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24899582/