QStringList指针导致QT应用程序崩溃

QT Application crashing with QStringList pointers

本文关键字:应用程序 崩溃 QT 指针 QStringList      更新时间:2023-10-16

我有两个QStringList指针变量oldFiles和oldDirectories。它们将包含相同数量的项。

我想循环遍历其中一个,然后在QLabel上显示oldFiles文本,并创建一个QTextEdit来伴随每个文件。

如果在oldFiles QStringList中有3个条目,我想要一个标签和textit 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已经生锈了