Qt Study Road

上一节我们大致了解了有关存储容器的相关内容。对于所有的容器,最常用的操作就是遍历。本章我们将详细了解有关遍历器的内容。 尽管这个问题不是本章需要考虑的,但是我们还是需要来解释下,为什么要有遍历器。没有遍历器时,如果我们需要向外界提供一个列表,我们通常会将其返回: 这么做的问题是:向用户暴露了集合的内部实现。用户知道,原来你用的就是一个QList啊~那我就可以向里面增加东西了,或者修改其中的内容。有 ...

29 评论 4.8K 次阅读
Qt Study Road

存储容器(containers)有时候也被称为集合(collections),是能够在内存中存储其它特定类型的对象,通常是一些常用的数据结构,一般是通用模板类的形式。C++ 提供了一套完整的解决方案,作为标准模板库(Standard Template Library)的组成部分,也就是常说的 STL。 Qt 提供了另外一套基于模板的容器类。相比 STL,这些容器类通常更轻量、更安全、更容易使用。如 ...

39 评论 6.5K 次阅读
Qt

在前面的文章中,曾经实现了一个带有加密功能的 SQLite Qt 插件。由于 Qt5 的发布,原来的代码已经不能通过编译,而且先前的实现因为只是演示性质,所以是将密码硬编码在代码中。现在,豆子更新了代码,使其能够运行于 Qt5。欢迎需要使用的童鞋下载~ 本次更新,将代码结构做了调整,但是整体实现没有改变(详见前面的文章)。同时,将 sqlite 的版本升级为 3.7.15.1。

37 评论 6K 次阅读
Qt Study Road

上一章我们介绍了有关二进制文件的读写。二进制文件比较小巧,却不是人可读的格式。而文本文件是一种人可读的文件。为了操作这种文件,我们需要使用QTextStream类。QTextStream和QDataStream的使用类似,只不过它是操作纯文本文件的。另外,像 XML、HTML 这种,虽然也是文本文件,可以由QTextStream生成,但 Qt 提供了更方便的 XML 操作类,这里就不包括这部分内容 ...

24 评论 5.2K 次阅读
Qt Study Road

在上一章中,我们介绍了有关QFile和QFileInfo两个类的使用。我们提到,QIODevice提供了read()、readLine()等基本的操作。同时,Qt 还提供了更高一级的操作:用于二进制的流QDataStream和用于文本流的QTextStream。本节,我们将讲解有关QDataStream的使用以及一些技巧。下一章则是QTextStream的相关内容。 QDataStream提供了基 ...

26 评论 4.7K 次阅读
Qt Study Road

文件操作是应用程序必不可少的部分。Qt 作为一个通用开发库,提供了跨平台的文件操作能力。从本章开始,我们来了解下 Qt 的文件以及输入输出的功能,也就是 I/O 系统。 Qt 通过QIODevice提供了对 I/O 设备的抽象,这些设备具有读写字节块的能力。下面是 I/O 设备的类图:

12 评论 3.4K 次阅读

新的一年又将过去。回忆起2011年末,也是一个类似的时间,曾经写下《2012年的简单计划》以为纪念。现在已经过去一年,曾经的计划有的实现有的搁浅,后来又有不少补充,权且记下,不知道又会有多少变化。

11 评论 3.1K 次阅读
Qt Study Road

下面我们继续上一章的内容。在上一章中,我们已经完成了地图的设计,当然是相当简单的。在我们的游戏中,另外的主角便是蛇和食物。下面我们便开始这部分的开发。 我们的地图是建立在QGraphicsScene的基础之上的,所以,里面的对象应该是QGraphicsItem实例。通常,我们会把所有的图形元素(这里便是游戏中需要的对象,例如蛇、食物等)设计为QGraphicsItem的子类,在这个类中添加绘制自身 ...

59 评论 8.2K 次阅读

关于我

devbean

devbean

豆子,生于山东,定居南京。毕业于山东大学软件工程专业。软件工程师,主要关注于 Qt、Angular 等界面技术。

主题 Salodad 由 PenciDesign 提供 | 静态文件存储由又拍云存储提供 | 苏ICP备13027999号-2