Preencher um Table Widget com dados de um .txt [RESOLVIDO]



  • Pessoal,

    Estou tentando preencher uma tabela com um arquivo .txt, o arquivo txt está com o seguinte formato:

    @192.168.0.1 executado OK
    192.168.0.2 erro Sem Acesso
    192.168.0.3 executado OK
    192.168.0.4 executado OK
    192.168.0.5 executado OK
    192.168.0.6 executado OK
    192.168.0.7 executado OK
    192.168.0.8 executado OK
    192.168.0.9 executado OK
    192.168.0.10 executado OK
    192.168.0.11 executado OK
    192.168.0.12 erro Sem Acesso
    192.168.0.13 erro Não Responde na Rede
    192.168.0.14 executado OK
    192.168.0.15 executado OK @

    Sei que preciso abri o arquivo e ler o mesmo e usar o espaço (" ") para separar cada string só que não consigo separar os
    dados e depois colocar cada um em uma célula individual.
    Meu código atual:

    @QFile inputFile("C:\log_instalador.txt");
    if(inputFile.open(QIODevice::ReadOnly))
    {
    QTextStream in (&inputFile);
    while (!in.atEnd()){
    QString line = in.readLine();
    QStringList fields = line.split(" ");
    //ui->tableWidget->setItem(coluna,0,new QTableWidgetItem(nome));
    ui->tableWidget->setItem(coluna,0,new QTableWidgetItem(fields));
    ui->tableWidget->setItem(coluna,1,new QTableWidgetItem(fields));
    coluna += 1;

        }
    }@
    

    O erro que recebo:

    @error: C2664: 'QTableWidgetItem::QTableWidgetItem(int)' : cannot convert parameter 1 from 'QStringList' to 'int'
    No user-defined-conversion operator available that can perform this conversion, or the operator cannot be called@



  • Você está fazendo errado.

    O fields é um QStringList. E o QTableWidgetItem aceita um QString como parâmetro.

    @
    QFile inputFile("C:\log_instalador.txt");
    if(inputFile.open(QIODevice::ReadOnly))
    {
    QTextStream in (&inputFile);
    while (!in.atEnd()){
    QString line = in.readLine();
    QStringList fields = line.split(" ");
    //ui->tableWidget->setItem(coluna,0,new QTableWidgetItem(nome));
    ui->tableWidget->setItem(coluna,0,new QTableWidgetItem(fields.at(0)));
    ui->tableWidget->setItem(coluna,1,new QTableWidgetItem(fields.at(1)));
    coluna += 1;

        }
    }
    

    @



  • E TioRoy,

    Vou ter que pagar um caminhão de Coca-Cola para vc! Valeu mesmo!!
    Faltou os fields!
    Valeu mesmo!!


Log in to reply
 

Looks like your connection to Qt Forum was lost, please wait while we try to reconnect.