Qt-QML-C++交互实现文件IO系统-后继-具体文件IO的实现

在上一篇文章中,我大致将这个QML中的文件IO类搭出了大致的框架,那么,今天抽时间写了一点文件的读写,这里我使用的文件流来读写文件。

文件结构如图

在QML中调用这个类了,就见简单的读取了一个JSON数据的一个属性值。

重点看下我的文件IO Cpp文件

QJsonObject DLFileIOSystem::DLReadFile()
{
    //这里将实现文件的打开并从文件中读取内容


    QFile file("./config.ini");

    if(!file.open(QIODevice::ReadWrite | QIODevice::Text))
    {
        QMessageBox::warning(NULL,"警告","打开文件失败");
    }
    else
    {
        QTextStream filestream(&file);

        QString line;

        while (filestream.readLineInto(&line))
        {

            qDebug()<<line;

        }
    }
    file.close();

    QJsonObject date;
    return fileDate;
}

bool DLFileIOSystem::DLWriteFile()
{
    //这里将实现文件的写入和关闭文件




    QFile file("./config.ini");

    if(!file.open(QIODevice::ReadWrite | QIODevice::Text))
    {
        QMessageBox::warning(NULL,"警A告","打开文件失败");
    }
    else
    {
        QTextStream filestream(&file);

        QStringList keylist = fileDate.keys();

        for (int i = 0; i<keylist.count(); i++)
        {

            filestream << keylist.value(i) + " : " + fileDate.value(keylist.value(i)).toString() + "
";
//            filestream << keylist.value(i) << " : " << fileDate.value(keylist.value(i)) << "
";
        }
    QMessageBox::warning(NULL,"提示","文件写入完成");
    }
    file.close();

    return true;

}


两个文件,一个读文件,一个写文件。

都是采用文件流的来读写,这里在读文件数据的方面,目前只是一行一行的从文件中将数据读取出来,还没有写将数据封装成JSON数据包发送给QML

看下运行截图

这是当我点击打开文件时,显示的程序运行截图

下面是当我点击关闭文件是,显示的运行截图

剩下的还在完善中,后期可能会加入对XML文档的支持

原文地址:https://www.cnblogs.com/DreamDog/p/9160023.html