今天来和大家分享一下Qt的文件IO操作,这里不讲虚的,也不讲一些很乱的语法,直接上干货。
今天会学习到的内容三个库:
QFile 打开文件、写入文件等
QTextcode 转换编码
QFileDialog 打开文件框
还是如此,边做边理解,以一个简单的小记事本来让我们理解。
创建ui界面:
这里先不讲各个按键和文本框的作用,我们直接看函数
浏览按键:
也叫做打开目录,点击其可以打开一个选择文件的框,并且文件路径返回,这里我把路径显示到那个小框,以便于我们打开文件。
这是点击后的效果:
选择一个文件后,把路径返回了那个文本框
接下来就是打开文件的按钮实现:
注意,一开始定义了一个锁,锁住这个线程,不让其他线程访问我们这个文件,这大大升高了安全性,安全的打开文件。
然后不存在的话就创建一个新文件(为啥这样设置,这里的话上面的目录用户是可以更改的,更改了后目录会实时的把值发送到filename这个全局变量,这里我使用了一个信号与槽连接的,待会附上代码)
然后就是把文本内容显示到那个大的文本框,注意这里是逐行的读出来,对于大文件,避免使用readAll()
一次性将整个文件读入内存,可以采用逐行读取的方式。
后面就是关闭文件了,读完要关闭!!!!
这里是文本框信号与槽的函数 :
也详细讲讲这个信号连接,首先是文本框发出改变的信号,然后触发了这个窗口的槽函数,让其赋值给fileName变量;下面是槽函数。
最后就是保存文件了,直接重新打开这个文件,然后我们在那里可以更改文件的,直接保存原来的路径,或者修改。
点击保存后,就可以保存了,也可以直接需改上面的路径保存到你想保存的目录,又可以直接保存,又可以直接另存为。
这里笔者使用了图片截图代码而不是直接附上代码。是鼓励大家自行敲代码,能够有效的提升自己,最后加油! 源码【免费】Qt文件操作学习例程源码资源-CSDN文库