|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 不二如是 于 2016-11-7 15:13 编辑
前面搞定了,最重要的几个入门级对文件、目录、I\O的操作介绍。
还有一些零碎的,一并扫清哈~
- 应用程序设置
QSettings类提拱了一个持久的与平台无关的应用程序设置!
是不是很拗口~
用户通常期望应用程序可以记住他们的设置~
例如,设置了窗口大小和位置,后续程序一样实现。
这些信息在Win上一般存储在系统注册表中,在Mac上存储在XML偏好文件中,在·Unix中存储在INI文本文件。
QSettings是对这些技术的一个抽象,可以使用一种可移植的方式来保存和恢复应用程序的设置,支持自定义存储类型。
QSettings的API是基于QVariant的,保存大多数基于值的类型
Qt有一个示例程序:Settings Editor,在Tools分类中,有兴趣自行看之哈~
- 统一资源定位符
- Qt资源
QResource类提供了接口直接读取资源文件,用来表示一组数据的对象。
该组数据设计了一个单一的资源实体。
QResource类可以使用原始格式来直接访问字节,允许不使用缓冲拷贝或间接来读取数据。
QResource类也可以使用绝对路径进行加载,'/'字符开始,或者使用资源表示法,‘:’开始。
一个资源可以保留在一个程序的二进制文件外面,等需要时使用registerResource()来加载。
有兴趣的可以看The Qt Resource System~
- 缓冲区
QBuffer类为QByteArray提供了一个QIODevice接口。
允许使用QIODevice接口来访问QByteArray。
QByteArray被视为一个标准的随机访问的文件。
默认就是:
创建一个QBuffer内部自动创建一个QByteArray缓冲区
常用函数如下哈:
open() | 打开一个缓冲区 | write() | 对缓冲区进行写入 | putChar() | 对缓冲区进行写入 | read() | 读取缓冲区 | readLine() | 读取缓冲区 | readAll() | 读取缓冲区 | getChar() | 读取缓冲区 | size() | 返回缓冲区的当前大小 | seek() | 定位到缓冲区的一个指定位置。 | close() | 结束访问并关闭 |
好吧,再举两个如何写入\读取的例子。
QBuffer向QByteArray写入数据:QByteArray byteArray;
QBuffer buffer(&byteArray);
buffer.open(QIODevice::WriteOnly);
QDataStream out(&buffer);
out<<QApplication::palette();
QBuffer如何从QByteArray读取数据:QPalette palette;
QBuffer buffer(&byteArray);
buffer.open(QIODevice::ReadOnly);
QDataStream in(&buffer);
in>>palette;
注意:
当有新的数据到达了缓冲区,QBuffer会发射readyRead()信号!
通过关联这个信号,可以使用QBuffer来存储临时的数据,而后进行相应的处理~
|
|