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

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

文件结构如图

image.png

在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()<


       }

   }

   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

       {


           filestream << keylist.value(i) + " : " + fileDate.value(keylist.value(i)).toString() + "\r\n";

//            filestream << keylist.value(i) << " : " << fileDate.value(keylist.value(i)) << "\r\n";

       }

   QMessageBox::warning(NULL,"提示","文件写入完成");

   }

   file.close();


   return true;


}


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




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


看下运行截图

image.png

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

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

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


目录
相关文章
|
网络协议 安全 Linux
Linux C/C++之IO多路复用(select)
这篇文章主要介绍了TCP的三次握手和四次挥手过程,TCP与UDP的区别,以及如何使用select函数实现IO多路复用,包括服务器监听多个客户端连接和简单聊天室场景的应用示例。
422 0
|
8月前
|
C++ Windows
.NET Framework安装不成功,下载`NET Framework 3.5`文件,Microsoft Visual C++
.NET Framework常见问题及解决方案汇总,涵盖缺失组件、安装失败、错误代码等,提供多种修复方法,包括全能王DLL修复工具、微软官方运行库及命令行安装等,适用于Windows系统,解决应用程序无法运行问题。
1180 3
|
存储 Linux C语言
Linux C/C++之IO多路复用(aio)
这篇文章介绍了Linux中IO多路复用技术epoll和异步IO技术aio的区别、执行过程、编程模型以及具体的编程实现方式。
779 1
Linux C/C++之IO多路复用(aio)
|
存储 算法 安全
基于哈希表的文件共享平台 C++ 算法实现与分析
在数字化时代,文件共享平台不可或缺。本文探讨哈希表在文件共享中的应用,包括原理、优势及C++实现。哈希表通过键值对快速访问文件元数据(如文件名、大小、位置等),查找时间复杂度为O(1),显著提升查找速度和用户体验。代码示例展示了文件上传和搜索功能,实际应用中需解决哈希冲突、动态扩容和线程安全等问题,以优化性能。
|
存储 Windows
(13) Qt事件系统(two)
文章详细介绍了Qt事件系统,包括事件分发、自定义事件、事件传播机制、事件过滤以及事件与信号的区别。
682 3
(13) Qt事件系统(two)
|
编解码 程序员
(12)Qt事件系统(one)
本文详细介绍了Qt事件系统,包括各种系统事件、鼠标事件、键盘事件、定时器等的处理方法和示例代码。
550 0
(12)Qt事件系统(one)
|
Linux C++
Linux C/C++之IO多路复用(poll,epoll)
这篇文章详细介绍了Linux下C/C++编程中IO多路复用的两种机制:poll和epoll,包括它们的比较、编程模型、函数原型以及如何使用这些机制实现服务器端和客户端之间的多个连接。
639 0
Linux C/C++之IO多路复用(poll,epoll)
|
Linux C++
Linux c/c++文件的基本操作
在Linux环境下使用C/C++进行文件的基本操作,包括文件的创建、写入、读取、关闭以及文件描述符的定位。
257 0
Linux c/c++文件的基本操作
|
C++ 内存技术
[转]Visual C++内嵌swf文件并播放
[转]Visual C++内嵌swf文件并播放
|
API
Qt绘图之Paint系统
Qt绘图之Paint系统
234 2