Я создаю QStringList из файла:
QFile myTextFile("/home/user/Desktop/file.txt");
QStringList myStringList;
if (!myTextFile.open(QIODevice::ReadOnly))
{
QMessageBox::information(0, "Error opening file", myTextFile.errorString());
}
else
{
while(!myTextFile.atEnd())
{
myStringList.append(myTextFile.readLine());
}
myTextFile.close();
}
... создается и заполняется QTableWidget, затем я хочу отметить те элементы в строке 5, которые соответствуют одному из элементов в myStringList:
int rows = ui->tableWidget->rowCount();
for(int i = 0; i < rows; ++i)
{
QString str1 = ui->tableWidget->item(i, 5)->text();
if (myStringList->contains(str1))
//if(ui->tableWidget->item(i, 5)->text() == "targetstring")
{
ui->tableWidget->item(i, 5)->setBackgroundColor(Qt::blue);
}
}
Это компилируется, но segfaults при выполнении. Таблица существует и полностью заполнена на данный момент. Если я явно передаю целевую строку (строка закомментирована), она работает нормально, но мне нужно проверить ее по StringList.
Любые предложения приветствуются, сводили меня с ума!
QTableWidget::setItem
по каждому пункту? Что выводитqDebug() << ui->tableWidget->item(i, 5)
? - person Amartel   schedule 22.06.2015myStringList->
. Это ошибка копирования-вставки илиmyStringList
указатель? Это действительно? - person Amartel   schedule 22.06.2015