QML - 如何在ListView上显示文本文件?

时间:2016-08-03 10:02:51

标签: c++ qt file-io qml telnet

我想做一个telnet客户端。连接调制解调器并阅读QTcpSocket没有问题。

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();
}

我使用FileIO在QML中读取文本文件。这是我的代码:

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();
}

当我创建my_file.txt时,没有问题。好像是

“677 = T12V_KU_SAT

623 = SBC2_KU_SEA

615 = IS19_KU_SWP“(这些是光束列表。)

但我在QML中阅读了这个文本文件,代码为:

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”输出是这样的。

我想在listview中显示每个光束,因为我需要光束名称是可点击的。换行存在问题。

我希望我解释清楚我的问题。谢谢!

1 个答案:

答案 0 :(得分:0)

根据文档,QTextStream::readLine()返回的字符串不包含行尾字符。