2016-08-03 48 views
1

Ich möchte einen Telnet-Client tun. Es gibt kein Problem Modem zu verbinden und QTcpSocket zu lesen.QML - Wie Anzeige einer Textdatei auf ListView?

void iDirectClient::when_socket_ready_read() { 
    QByteArray ba = m_socket->readAll(); 
    qDebug() << "\r\nRead:\r\n" << ba; 

    QString filename = "my_file.txt"; 
     QFile file(filename); 
     if (file.open(QIODevice::ReadWrite)) { 
      QTextStream stream(&file); 
      stream << ba << endl 
     } 
     file.close(); 
} 

und ich verwende FileIO für eine Textdatei in QML.Here lesen ist mein Code:

QFile file(m_source); 
QString fileContent; 
if (file.open(QIODevice::ReadOnly)) { 
    QString line; 
    QTextStream t(&file); 
    do { 
     line = t.readLine(); 
     fileContent += line; 
    } 
    while (!line.isNull()); 
    qDebug() << "SOURCE" << line; 
    file.close(); 
    file.remove(); 
} 

Wenn ich my_file.txt schaffen, gibt es kein Problem. Es scheint, wie

"677 = T12V_KU_SAT

623 = SBC2_KU_SEA

615 = IS19_KU_SWP" (diese sind Strahl-Liste.)

aber ich lese diese Textdatei in QML, mit diesem Code:

FileIO { 
    id: myFile 
    source: "my_file.txt" 
    onError: console.log(msg) 
    Component.onCompleted: { 
    } 
} 

Component.onCompleted: { 
    console.log(myFile.read()) 
    textarea1.text = myFile.read(); 
} 

"677 = T12V_KU_SAT623 = SBC2_KU_SEA615 = IS19_KU_SWP" -Ausgabe ist wie diese.

Ich möchte jeden Balken in listview anzeigen, weil ich Balkennamen klickbar haben muss. Es gibt ein Problem mit Zeilenvorschub.

Ich hoffe, ich erklärte klar mein Problem.Vielen Dank!

Antwort

0

Die von QTextStream::readLine() zurückgegebene Zeichenfolge enthält keine Zeilenendezeichen gemäß der Dokumentation.