Вот еще один затуп:
По предыдущему коду обработанный текст загонялся в textedit,
а сейчас параллельно и в tablewidget.
Но как-то с косяком т.е. первая строка корректна
, а дальше что попало:
И вот код как делалось:
void NewspaperWindow::autoProc()
{
listTable->clear();
QStringList folders;
folders << "0" << "1" << "2" << "3" << "4";
QStringList files;
filesTable->setRowCount( 0 );
QString fileName ;
QString unitName ;
for (int i = 0; i < folders.size(); ++i){
text = folders.at(i).toLocal8Bit().constData(); ////// здесь получаем значение text
QString textrepout;
QTextStream in(&textrep); //кол-во строк 262
QTextStream out(&textrepout);
while (!in.atEnd()) {
QString line = in.readLine();
int j = 6 - line.count(QRegExp("\\t"));
for (int i = 0; i < j; ++i) {
line.append("\t");
}
int row = listTable->rowCount(); // current row count
if (line.contains(QRegExp("\\d{5,}"))){
out << text << "\t" << line << "\n";
line = text + "\t" + line; ////// а здесь используем значение text
list = line.split(QRegExp("\\t"));
listTable->setRowCount(row+1);
showList(list, row); // А здесь кол-во строк удваивается
statusBar()->showMessage( line );
list.clear();
line.clear();
}
}
textedit->setPlainText(textrepout);
}
bool NewspaperWindow::showList( const QStringList &list, const int &j)
{
listTable->insertRow(j);
for ( int i = 0; i < listTable->columnCount(); ++i )
{
QTableWidgetItem *listNameItem = new QTableWidgetItem( list[ i ] );
listTable->setItem( j, i, listNameItem );
}
return true;
}
void NewspaperWindow::createListTable()
{
listTable = new QTableWidget( 0, 6);
listTable->setSortingEnabled ( true );
QStringList labels;
labels << tr( "Num_flats" ) << tr( "Prefix_Street" ) << tr( "Street" )<< tr( "Comments" ) << tr( "Phon" )<< tr( "Phon_2") ;
listTable->setHorizontalHeaderLabels( labels );
listTable->horizontalHeader()->setResizeMode( 0, QHeaderView::Stretch );
listTable->setShowGrid( true );
}
Текст в таком виде:
1 Продам 1ю квартиру ул. Бестужева ср. эт., 32 кв., хор. сост., пан 922878
1 Район ф. Вторая речка кв. м, сдача дома зима, без отделки,10 эт. 89242368688
0 1ком. Каплунова ср/эт, 32,2, л/з. 89046251640, 528608
0 Луговая 45/2, 10/14, 38/19/6, л/з 6 м. 89242157777
1 к. квру 33 м п. Славянка, кап. рем., юг, л/з. 89147919602
1 Продаю 1комн. квартиру. 976501
2 Перекопск., 6/9 к, лод/6 м, вид, тел., 35/17/7, 56 у.е. 552801
1 Продаю квартиру новост., Русская 1ком., еврорем., 42 кв. м. 907898
4 Русская 1в/12 п, 32/18/8,5, х/с, срочно, 49500
столбцы в строках разделены табуляцией.
Пояснение к рисункам "Prefix_Street"- столбец, если улица не распознана.
В общем видно что сначала загоняется первый столбец каждой строки, а дальше корректно.
Думаю намудрил со вставкой в listTable, но не пойму в каком месте.