void DBase::readTextFile(QString nameFile, QStandardItemModel* pModel){ QFile file(nameFile); QSqlTableModel* model = new QSqlTableModel(); model->setTable("film"); model->select(); if(!file.open(QIODevice::ReadOnly|QIODevice::Text)) qDebug() << QObject::tr("Невозможно открыть файл"); else { qDebug() << QObject::tr("Файл открыт"); QTextStream in(&file); QString line; pModel->setHeaderData(0, Qt::Horizontal, QObject::tr("Жанры")); int index = 0; while(!in.atEnd()) { line = in.readLine(); QModelIndex indexModel = pModel->index(index++, 0); pModel->setData(indexModel, line); pModel->insertColumns(0, 1, indexModel); model->setFilter("genre = '" + line + "'"); model->select(); for(int i = 0; i < model->rowCount(); i++) { QString str = model->record(i).value("name").toString(); if(!str.isEmpty()) { pModel->insertRows(0, 1, indexModel); pModel->setData(pModel->index(i, 0, indexModel), str); qDebug() << QObject::tr("Фильм ") << str << "(" << line << ")"; } } } file.close(); }}
...pModel->insertRows(0, 1, indexModel); <= вставляем строку в началоpModel->setData(pModel->index(i, 0, indexModel), str); <= а данные устанавливаем в i-ую (последнюю) строку...
C++ (Qt)...pModel->insertRow(i, indexModel);pModel->setData(pModel->index(i, 0, indexModel), str);...
pModel->insertRows(i, 1, indexModel);