QT TableWIdget, dane w wielu kolumnach

0

Witam mam problem, wczytuje sobie dane z pliku do QT Table Widget
ale nie działa tak jak bym chciał i nie potrafię wykryć błędu.
Polega on na tym, że wczytuje dane tylko do jednej kolumny.
niżej zamieszczam kod procedury.

 
{
    QTableWidget *widget=ui->tableWidget;
    this->setWindowTitle(text);
    fstream plik;
    string s;
    int i=0,j=0;
    s.clear();
    s="bin/"+text.toStdString()+".kas";
    plik.open(s.c_str(),ios::out|ios::in);

    s.clear();
    getline(plik,s);
    i=atoi(s.c_str());
    widget->setColumnCount(i);

    s.clear();
    getline(plik,s);
    j=atoi(s.c_str());
    widget->setRowCount(j);

    while(i>0)
    {
        s.clear();
        getline(plik,s);
        list<<QString::fromStdString(s);
        i--;
    }
    widget->setHorizontalHeaderLabels(list);
    list.clear();


    int col = 0; // current column count
    // wypełnia komórki 
    for (int row = 0; row < widget->rowCount(); ++row)
    {
            s.clear();
            getline(plik,s);
            if(s=="-")
            {
                col++;
                row=0;
            }else if(plik.eof())
            {
                break;
            }else
            {
                QTableWidgetItem* newItem = new QTableWidgetItem(QString::fromStdString(s));
                widget->setItem(row, col, newItem);
            }
    }
    plik.close();
}

A tutaj format pliku jaki mu podaje

3
2
ID
Nazwa
Hz
1
2

AMD
INTEL

100
200

To gdzie popełniłem błąd ?

0

3
2
ID
Nazwa
Hz
1
2

AMD
INTEL

100
200

Dopowiem jeszcze, że 3 oznacza ilość kolumn
2 ilość najdłuższej z nich czyli ilość wierszy.
no i potem są trzy nazwy kolumn a po nazwach pierwsza wartość pierwszej kolumny i separator "-" następnej kolumny i właśnie dalej mi nie wczytuje :(
nie wykonuje się nawet if(s=="-"){...}

0

Okey, błąd poprawiłem.
Znajdował się w pętli for ponieważ nie wykonywał się do rzeczywistej liczby wierszy tylko do jedno mniej oraz
w if(s=="-") ustawiałem liczbe wiersza na 0 co po obrocie pętli zwiększało mi go już na 1 i omijał pierwszy wiersz w następnej komórce

1 użytkowników online, w tym zalogowanych: 0, gości: 1