前面我们已经学习了 qtcreator.pro 和 qtcreator.pri 两个文件的代码。在 qtcreator.pro 中有这么一段代码: 这意味着,Qt Creator 会按照SUBDIRS定义的顺序编译。所以,下面我们需要从 src 目录开始。打开 src 目录,有这么几个目录和文件。 我们从最根本的 src.pro 开始。当TEMPLATE被定义为subdirs时,Qt 会去找SUB ...

0 评论 2.3K 次阅读
Qt

原文地址:https://www.kdab.com/goodbye-q_foreach/ Q_FOREACH(有时也会被称为foreach)将在不久的将来被废除,有可能是在 Qt 5.9。从 Qt 5.7 开始,你可以使用QT_NO_FOREACH宏定义来确保代码中没有依赖Q_FOREACH。【译注:这里应该是说,在 .pro 文件中添加DEFINES += QT_NO_FOREACH定义】 你可 ...

3 评论 2.6K 次阅读

上一章我们已经分析过项目文件 qtcreator.pro。我们看到,qtcreator.pro 中很多重要的功能都使用了来自 qtcreator.pri 中定义的函数或者变量。本章我们就来看看 qtcreator.pri 是怎么写的。 第一行,如果存在QTCREATOR_PRI_INCLUDED,则抛出错误。下面一行则设置了QTCREATOR_PRI_INCLUDED。这两行类防止将 q ...

7 评论 2.8K 次阅读

当我们准备好 Qt Creator 的源代码之后,首先进入到它的目录,来看一下它的源代码目录有什么奥秘。 这里一共有 9 个文件夹和 9 个文件。我们来一一看看它们都是干什么用的。 .git: 版本控制 git 的隐藏目录,这与 Qt Creator 代码没有关系。 bin: 生成 Linux 平台 shell 脚本。 dist: 安装文件配置信息和版本更新记录。 doc: 生成 doxygen ...

7 评论 2.9K 次阅读

要学习 Qt Creator 的源代码,首先要获取它的源代码。与 Qt 不同,前者在安装时可以选择是否安装源代码,但是 Qt Creator 的源代码并不是与可执行文件一起发布的。我们需要自己下载。 获取 Qt Creator 的源代码有两种方式:下载 zip 包以及使用 git clone。 Qt Creator 的源码 zip 包就在 Qt 的下载页面。我们可以打开 Qt 开源版下载页面(商业 ...

3 评论 2.6K 次阅读

针对 Qt Creator 源代码的分析已经计划了很长时间,但是一直没有进行。至于为什么要读源代码,这个问题已经不需要我们去回答。源码之前,了无秘密。站在巨人的肩膀上,我们也会比之前高那么一点点。 我们可以去读 Qt 的源代码。这对于深入学习 Qt 是不可或缺的,但是,对于初学者以及更多的普通开发者而言,直接读 Qt 的源代码还是比较困难的。首先,Qt 是一个跨系统的通用库,很多有关操作系统层面的 ...

1 个评论 2.4K 次阅读

前面我们已经完成了 todo 的几个状态。下面我们开始针对这些状态添加一些便捷操作。这也是 todomvc 应用规范所要求的。 在输入框左边有一个箭头,这是一个 checkbox。当点击这个箭头时,所有 todo 都应该设置为完成状态;再次点击则将所有 todo 恢复为未完成状态。需要注意的是,这个 checkbox 的选择与下面 todo 的操作息息相关:当一个个将所有 todo 手动完成后,该 ...

1 个评论 2.2K 次阅读

下面我们继续实现 todomvc。按照 todomvc 应用规范,一个 todo 项目有三种交互方式:完成、编辑和删除。 “完成”显然要求我们记录下每一个 todo 的状态。按照我们目前的实现,每一个 todo 只是一个字符串,没有办法记录其状态。所以我们必须修改模型的数据结构,将 todo 存储为一个对象。我们为每一个 todo 对象添加一个 label 属性、一个 completed 属性。前 ...

0 评论 2.2K 次阅读

前面我们已经了解了有关 Vue.js 的基础知识,本章我们开始创建一个经典的 todo 程序。我们选择 todomvc 作为页面模板。虽然 Vue.js 官方已经提供了类似的示例,但是现在,我们自己在 todomvc 模板基础上,自己使用 Vue.js 实现相关功能。 todomvc 原始模板可以在 github 下载;具体实现要求则可以在这里找到。首先我们使用 git clone 下来模板。to ...

0 评论 2.1K 次阅读

原文出处:http://www.cprogramming.com/c++11/c++11-auto-decltype-return-value-after-function.html C++11 引入了几种新的类型推断,可以让你为那些编译器本来就应该知道的事实写更少的代码。当然,我们也需要在必要的时间帮助编译器或者其他开发人员,但是使用 C++ 11,你可以在那些无聊的工作上花费较少的时间,而关注 ...

0 评论 2.3K 次阅读

关于我

devbean

devbean

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

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