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文档的支持


目录
相关文章
|
22天前
|
计算机视觉 数据格式
使用opencv在Qt控件上播放mp4文件
使用opencv在Qt控件上播放mp4文件
28 2
|
27天前
|
存储 C++
基于C++的简易文件压缩与解压缩工具设计与实现
基于C++的简易文件压缩与解压缩工具设计与实现
15 3
|
28天前
|
开发框架 Java 编译器
【Qt 元对象系统 01 】深入探索Qt的元对象系统:核心地位、功能与构成
【Qt 元对象系统 01 】深入探索Qt的元对象系统:核心地位、功能与构成
51 0
|
28天前
|
安全 算法 程序员
【C/C++ 文件操作】深入理解C语言中的文件锁定机制
【C/C++ 文件操作】深入理解C语言中的文件锁定机制
31 0
|
1月前
|
Unix 编译器 Linux
【计算机基础 ELF文件】深入探索ELF文件:C++编程中的关键组成部分
【计算机基础 ELF文件】深入探索ELF文件:C++编程中的关键组成部分
50 0
|
1月前
|
存储 Linux API
Linux系统编程 C/C++ 以及Qt 中的零拷贝技术: 从底层原理到高级应用(三)
Linux系统编程 C/C++ 以及Qt 中的零拷贝技术: 从底层原理到高级应用
31 1
|
1月前
|
消息中间件 Linux 数据处理
Linux系统编程 C/C++ 以及Qt 中的零拷贝技术: 从底层原理到高级应用(二)
Linux系统编程 C/C++ 以及Qt 中的零拷贝技术: 从底层原理到高级应用
32 1
|
28天前
|
安全 数据处理 C++
【Qt 底层之事件驱动系统】深入理解 Qt 事件机制:主事件循环与工作线程的交互探究,包括 QML 的视角
【Qt 底层之事件驱动系统】深入理解 Qt 事件机制:主事件循环与工作线程的交互探究,包括 QML 的视角
112 3
|
29天前
|
Linux C++ iOS开发
【C++ 17 新特性 文件管理】探索C++ Filesystem库:文件和目录操作的全面指南(二)
【C++ 17 新特性 文件管理】探索C++ Filesystem库:文件和目录操作的全面指南
251 2
|
29天前
|
Linux API C++
【C++ 17 新特性 文件管理】探索C++ Filesystem库:文件和目录操作的全面指南(一)
【C++ 17 新特性 文件管理】探索C++ Filesystem库:文件和目录操作的全面指南
310 2

推荐镜像

更多