qt creator源码全方面分析(2-1-1)】的更多相关文章

目录 qtcreatordata.pri 定义stripStaticBase替换函数 设置自定义编译和安装 QMAKE_EXTRA_COMPILERS Adding Compilers 示例1 示例2 小节 qtcreatordata.pri 此pri文件用于部署在构建Qt Creator时未编译的文件.如果使用影子构建,它将文件复制到构建目录中,同时添加相应的安装目标. 用法:首先定义变量(详细信息如下),然后包含此pri文件. STATIC_BASE:STATIC_FILES中列出的文件的基…
目录 qtcreatorlibrary.pri 使用实例 上半部 下半部 结果 qtcreatorlibrary.pri 上一章节,我们介绍了src.pro,这里乘此机会,把src目录下的所有项目文件都介绍一遍.首先为qtcreatorlibrary.pri. 使用实例 为了分析这个文件,我们找个使用该pri的例子,源目录\src\libs\cplusplus\cplusplus.pro DEFINES += NDEBUG unix:QMAKE_CXXFLAGS_DEBUG += -O2 win…
本人主攻C++和Qt. 上两天刚研究完Qt install framework(IFW)应用程序安装框架. google没发现有正儿八经的官方文档的翻译,我就进行了翻译哈!! 系列文章具体见:https://www.cnblogs.com/codeForFamily/category/1631485.html 现在我准备把以前研究到一半的qt creator源码接着往下进行. 注意:研究的是编码用的IDE的源码啊!! 官方网址:http://download.qt.io/official_rel…
Qt系统 Qt Creator源码是在Qt对象和框架基础下写的,因此,阅读Qt Creator源码,你首先对Qt得有一定的了解. Qt Core Qt Core特征: The Meta-Object System The Property System Object Model Object Trees & Ownership Signals & Slots Qt资源系统: The Qt Resource System 其他关键框架: The Animation Framework JSO…
目录 global头文件 global.h xx.h global头文件 插件的本质就是动态链接库,对于库,需要导出符号,供用户导入使用.在qt creator的源码中,存在固定的导入导出模式. global.h 对于每个库和插件,都有一个xx_global.h头文件,其中xx为库或插件名.示例如下 #pragma once #include <qglobal.h> #if defined(XX_LIBRARY) # define XX_EXPORT Q_DECL_EXPORT #else #…
目录 Qt中的字符串 QLatinString 详细介绍 源码 小结 QStringLiteral(str) 详细介绍 源码 小结 Qt中的字符串 Qt中处理字符串最常用的肯定是QString,但是在qt creator源码中出现了大量的QLatin1String.下面我们来介绍下区别. QLatinString 详细介绍 我们首先来看QLatinString.类详细介绍如下: QString的许多成员函数都被重载以接受const char *而不是QString. 这包括复制构造函数,赋值运算…
目录 Qt插件基础 Qt插件基础 我们知道Qt Creator源码是基于插件架构的,那么我们先来介绍下插件基础知识. 相关内容如下: How to Create Qt Plugins [ - Defining Plugins]( - Defining Plugins) Echo Plugin Example QPluginLoader QLibrary moc(源码见qtbase/src/tools/moc目录) 原创造福大家,共享改变世界 献出一片爱心,温暖作者心灵…
目录 qtcreator.pri 判断重复包含 定义版本信息 VERSION 定义IDE名称 启用C++14 CONFIG 自定义函数 Replace Functions Test Functions _PRO_FILE_PWD_ _PRO_FILE_ 设置macOS最小版本 设置QTEST模块 设置源目录和构建目录 re_escape(string) clean_path(path) 设置IDE和INSTALLS相关路径 设置字符串宏 shell_quote qmake定义字符串宏 设置INC…
目录 Completing Code 补全代码片段 编辑代码片段 添加和编辑片段 删除片段 重置片段 补全Nim代码 Completing Code 在编写代码时,Qt Creator建议使用属性,ID和代码段来补全代码. 它为当前光标所在的语句提供了上下文相关建议的列表. 按Tab或Enter键接受所选建议并补全代码. 下图显示了有关补全C++代码的建议: 下图显示了有关补全QML代码的建议: 要随时打开建议列表,请按Ctrl + Space. 如果只有一个选项可用,则Qt Creator会自…
目录 Getting and Building Qt Creator 获取Qt 获取和构建Qt Creator Getting and Building Qt Creator 待办事项:应该对此进行扩展.Windows特定的麻烦,请参见\QC源代码中的README文件 有多种可能导致您想要构建自己的Qt Creator的原因,例如使用最新的开发版本,并能够在多个地方进行调整.这很有必要,如果您要创建自己的Qt Creator插件. 获取Qt 预先构建的Qt Creator软件包通常使用Qt的最新…
目录 项目文件分析 qtcreator.pro 包含qtcreator.pri Qt版本判断 包含doc.pri 源码组织架构 指定dist文件列表 qbs配置 指定架构和平台 指定基础名 指定linux平台安装内容 指定其他平台安装内容 指定安装存档 指定额外构建目标 项目文件分析 第二章节我们介绍了doc/目录帮助文档,下面在介绍源代码之前,我们先来了解下qt creator的项目文件,这对于了解整个源代码的配置.层次架构大有帮助.而且有许多在项目文件中定义的宏,会在源码中被使用到. 项目文…
目录 doc文件夹 帮助文档 qdoc工具 doxygen工具 qtcreator.qdocconf qtcreator-dev.qdocconf doc文件夹 对于bin和dist文件夹这里就不做过多的介绍了.我们首先来重点关注doc文件夹.对于理解源码,帮助文档总是能起到非常有效的作用. 帮助文档 帮助文档的来源有两个组成部分: 源代码中的注释 qdoc文件 两者都采用一定约束规范的编写形式,来添加注释和说明信息.示例如下: /*! \class XXX \brief The brief d…
目录 qtcreator.pro 包含qtcreator.pri include(filename) Qt版本判断 message(string) $$运算符 error(string) 包含doc.pri 源码组织架构 TEMPLATE SUBDIRS 指定dist文件列表 DISTFILES files(pattern[, recursive=false]) Replace Functions概述 qbs配置 exists(filename) Test Functions概述 指定架构和平台…
目录 User Interface Text Guidelines 语法和风格 标点 编写工具提示tooltips 编写消息 UI文本大写 使用书本样式大写 使用句子样式大写 准备本地化 标记UI文本进行翻译 语言或书写系统的特征 Qt Creator通用条款 User Interface Text Guidelines 请遵循本节中的准则,以确保扩展与Qt Creator UI保持一致,并且可以轻松地将其本地化为其他语言. 编写UI文本时,请确保它: 与现有的Qt Creator用户界面条款一…
目录 Extending Qt Creator Manual 生成领域特定的代码和模板 代码片段 文件和项目模板 自定义向导 支持其他文件类型 MIME类型 高亮和缩进 自定义文本编辑器 其他自定义编辑器 运行外部工具 简单的外部工具 复杂的外部工具 所有主题 Extending Qt Creator Manual Qt Creator是为Qt开发人员的需求量身定制的跨平台集成开发环境(IDE). Qt Creator可以通过多种方式扩展. 例如,Qt Creator架构基于插件加载器,这意味着…
目录 Creating Plugins Creating Plugins Qt Creator的核心是一个插件加载程序,加载并运行一组插件,实际上是这些插件提供了您从Qt Creator IDE中了解的功能.甚至应用程序主窗口和菜单都由插件提供的.插件使用不同的方式,供其他插件访问本插件的功能,并允许它们扩展应用程序的某些方面. 例如,Core插件是Qt Creator完全运行所必须具备的非常基本的插件,它提供了主窗口,以及相关API,用于添加菜单项,模式,编辑器类型,导航面板和许多其他内容.…
目录 Showing Task List Files in Issues Pane 管理任务列表条目 任务列表文件格式 Showing Task List Files in Issues Pane 您可以使用代码扫描和分析工具来检查源代码. 这些工具报告问题供您修复. Qt Creator使您可以将问题列表加载到问题窗格中,以便导航. Qt Creator期望以简单的基于行的文件格式定义任务,文件格式容易使用脚本生成. 这些脚本可以转换其他工具的报告,也可以根据代码以任务列表格式创建问题列表.…
目录 Semantic Highlighting 通用高亮 高亮和折叠块 Semantic Highlighting Qt Creator将C++,QML和JavaScript语言理解为代码,而不是纯文本. 它读取源代码,对其进行分析,并根据对以下代码元素所做的语义检查,高亮该源代码: 类型(例如类,结构体和类型定义) 局部变量 类字段 虚函数 要指定语义高亮使用的配色方案,请选择工具>选项>文本编辑器>字体和颜色. C++,QML或JavaScript之外,Qt Creator还支持其…
目录 qtcreatorplugin.pri 使用实例 上半部 下半部 结果 qtcreatorplugin.pri 上一节我们介绍了qtcreatorlibrary.pri,现在我们介绍qtcreatorplugin.pri,其实插件的本质也是动态库,所以qtcreatorplugin.pri实现的内容和功能与qtcreatorlibrary.pri差不多. 使用实例 和上一节一样,为了分析这个文件,我们也再找个使用该pri的例子,源目录\src\plugins\cppeditor\cpped…
目录 coding-style.html 提交代码 二进制兼容性和源代码兼容性 代码构造 格式化 利用标识符 空格 大括号 圆括号 换行符 声明 命名空间 模式与实践 命名空间 传递文件名 插件扩展点 使用全局对象池 C++特征 C ++ 11和C ++ 14功能 使用QObject 文件头 包含头文件 Casting 编译器和平台特定的问题 美学 从模板或工具类继承 继承与聚合 公共头文件的约定 类成员名称 文档 coding-style.html 代码规范很重要,这决定了编码风格的统一.如果…
目录 Creating Your First Plugin 创建一个插件项目 构建并运行插件 文件结构 qmake项目 插件元数据模板 插件类 头文件 源文件 Creating Your First Plugin 本节介绍,如何使用Qt Creator提供的插件模板,来创建Qt Creator插件,并获取对插件的组成和结构的第一印象. 创建一个插件项目 Qt Creator附带了一个创建Qt Creator插件的向导,该向导会为您创建一个可运行的最小插件.我们强烈建议您使用两个不同的Qt Cre…
目录 Plugin Meta Data 主键 插件描述键 依赖 可选依赖项 测试依赖项 命令行参数 Test.json示例 插件版本说明 Plugin Meta Data 插件的元数据文件是一个JSON文件,包含加载插件库所需的所有信息,决定要加载哪些插件,以及加载顺序(取决于依赖关系).此外,它包含插件的作者,插件的用途,以及在何处可以找到有关插件的更多信息. 编译插件时,该文件必须位于include搜索路径中,并且必须具有.json扩展名. JSON文件将作为元数据编译到插件中,然后在加载插…
目录 Creating Wizards in Code 介绍 相关类 IWizardFactory的设置器和获取器 Creating Wizards in Code 介绍 如果基于模板的自定义向导提供的功能不足以满足您的情况,则可以用代码编写向导. Qt Creator中的向导是实现Core::IWizardFactory接口的类的实例,该接口具有使用IWizardFactory::registerFactoryCreator注册的创建函数. 实现向导需要: 编写从Core::IWizardFa…
目录 Editing MIME Types Editing MIME Types Qt Creator使用文件的MIME类型,来确定用于打开文件的模式和编辑器. 例如,Qt Creator在C++编辑器中打开C++源代码和头文件,而在Qt Designer中打开Qt部件的基础UI文件(.ui). 对于某些MIME类型,您可以更改用于打开该类型文件的默认编辑器. 为了识别文件的MIME类型,Qt Creator使用模式匹配和内容匹配.首先,Qt Creator查看文件名,以检查其是否与某个MIME…
目录 Using External Tools 使用Qt语言学家 预览QML文件 使用外部文本编辑器 配置外部工具 Using External Tools 您可以直接从Qt Creator中使用外部工具. Qt Linguist,QML预览工具和系统的默认文本编辑器已预先配置可用. 您可以更改其默认配置,并配置新工具. 要运行这些工具,请选择工具>外部,或使用定位器中的x过滤器. 使用Qt语言学家 您可以直接从Qt Creator中,使用Qt Linguist发布管理器工具,lupdate和l…
目录 External Tool Specification Files 文件名 位置 文件格式 主要标签 描述标签 可执行规范标签 示例 External Tool Specification Files 外部工具规范文件描述了可以从工具>外部菜单运行的工具. 它指定工具的名称,要运行的可执行文件,可选参数以及如何处理工具的输出. 文件名 <yourtoolname>.xml 位置 用户指定工具位于Mac和Linux上的$HOME/.config/QtProject/qtcreator…
目录 Plugin Life Cycle Plugin Life Cycle 为了能够编写Qt Creator插件,您必须了解启动或关闭Qt Creator时,插件管理器所采取的步骤. 本节详细描述插件所经历的过程和状态. 启动Qt Creator前,设置环境变量QT_LOGGING_RULES为qtc.extensionsystem*=true,可以使能插件相关的调试日志输出,启动后,你就可以获取有关情况的更多信息. 启动Qt Creator时,插件管理器将执行以下操作: 在其搜索路径中查找所…
目录 The Plugin Manager, the Object Pool, and Registered Objects 插件管理器 对象池和已注册对象 The Plugin Manager, the Object Pool, and Registered Objects 通常,插件不需要直接访问插件管理器. 交互主要间接的通过ExtensionSystem::IPlugin接口. 在某些情况下,则必须使用插件管理器API. 插件需要访问插件管理器的对象池,以扩展Qt Creator的某些方…
目录 Common Extension Tasks Common Extension Tasks 本节总结了可用于将UI组件添加到Qt Creator的API函数. 任务 详细 API 添加菜单或菜单项 你可以扩展现有菜单或者创建一个新的菜单 Core::ActionManager, Core::Command 添加可配置的键盘快捷方式 注册快捷方式,使用户可以在通用快捷方式设置对话框中对其进行配置 Core::ActionManager, Core::Command 添加一个模式 模式对应于完…
目录 Qt Creator API Reference 库 核心库 其他库 插件 Qt Creator API Reference Qt Creator的核心基本上只是一个插件加载器.所有功能都在插件中实现.Qt Creator的基础实现在核心插件中.插件管理器为插件合作提供了简单的方法,允许插件为其他插件的扩展提供钩子. 库 核心库 Qt Creator的许多部分都使用了一些核心库. 库名 描述 Aggregation 添加了将不同类型的QObject"粘合"在一起的功能,因此您可以…