Създавам 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);
}
}
Това се компилира, но има грешки при изпълнение. Таблицата съществува и към този момент е напълно попълнена. Ако изрично предам целевия низ (редът е коментиран), той работи добре, но трябва да го проверя спрямо StringList.
Оценявам всякакви предложения, подлудяха ме!
QTableWidget::setItem
за всеки артикул? Какво извеждаqDebug() << ui->tableWidget->item(i, 5)
? - person Amartel   schedule 22.06.2015myStringList->
. Това грешка при копиране и поставяне ли е илиmyStringList
е указател? валидно ли е - person Amartel   schedule 22.06.2015