【问题标题】:QML - How display a text file on ListView?QML - 如何在 ListView 上显示文本文件?
【发布时间】:2016-12-08 23:41:59
【问题描述】:

我想做一个 telnet 客户端。连接modem并读取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”输出是这样的。

我想在列表视图中显示每个梁,因为我需要梁的名称是可点击的。换行有问题。

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

【问题讨论】:

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


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-08-13
      • 2011-12-15
      • 2018-05-03
      • 2022-10-16
      • 2017-10-31
      • 2013-11-05
      相关资源
      最近更新 更多