qtcreator.pri中定义了很多宏和通用操作。定义在pri中的函数,必须先include后pro才能使用。qmake处理pro和pri文件是线性从上往下解析的。对比C/C++,我们可以认为pri文件是头文件,pro文件是源文件。 如果你使用 Qt Creator 打开项目,你会发现include语句会在项目树的左侧显示一个节点。这种节点只需要include不同的 pri...
在启动时,QtCreator会首先加载一个名为coreplugin的插件,coreplugin插件提供了Qt Creator最基本的功能和扩展点,其余的插件都是直接或间接依赖于coreplugin插件提供的机制,一步步扩充QtCreator的功能,最终将其变成一个功能完整的IDE。 针对QtCreator的插件机制设计,QtCreator源码分析会将关注重点放在插件管理器的实现、core...
从分析插件中的libs\utils中的theme模块开始,项目文件在路径\qt-creator-master\qt-creator-master\src\libs\utils\theme\下。 Theme类是创建主题和设置主题的类,其定义了Color、ImageFile、Gradient、Flag和WidgetStyle五个枚举类型,它们的成员定义了主题的方方面面的标志。在Theme类中有指向ThemePrivate类的指针,Theme...
在启动时,QtCreator会首先加载一个名为coreplugin的插件,coreplugin插件提供了Qt Creator最基本的功能和扩展点,其余的插件都是直接或间接依赖于coreplugin插件提供的机制,一步步扩充QtCreator的功能,最终将其变成一个功能完整的IDE。 针对QtCreator的插件机制设计,QtCreator源码分析会将关注重点放在插件管理器的实现、core...
QtCreator源码分析—2.启动主程序(4篇) QtCreator采用插件体系结构。主程序启动插件管理器(PluginManager),再通过插件管理器加载其插件,QtCreator的所有功能均使用插件实现。 我们先来分析主程序对插件管理器的主要操作: int main(int argc, char **argv)
Qt Creator插件理解起来其实很简单,定义一个接口类作为基类,其他插件需要继承该类实现对应的虚方法,每个插件作为独立子工程编译后生成对应的动态库主函数加载每个插件对象,然后转化为对应插件实例 QPluginLoader loader(pluginName);loader.load();IPlugin *pluginObject = qobject_cast<IPlugin*>(loader.instance());...
qtcreator.pro文件是主工程文件,要打开编译源码也是需要打开该工程文件进行加载的 “ PS: 涉及到 qbs 相关内容可以不用关注了,Qt Build Suite 也是一种跨平台的编译工具,目前使用较少无需关注 框架结构 下面来详细看下工程结构是如何管理的,以及整个框架原理 ...
当然了,Qt Creator 在实现过程当中肯定不止这么简单,插件的加载、解析、卸载等管理还是比较复杂的,非常值得我们去学习 插件组成 整个插件系统由插件管理器、核心插件、其它插件组成,其中核心插件是系统中不可缺少的,其它插件都要依赖核心插件来进行开发通信 我们先打开 Qt Creator 插件菜单看看都包含那些插件 可以看到所...
Qt Creator默认的 ID 为org.qt-project.Qt.QtCreatorPlugin,每个插件加载时通过宏进行设置 这个宏是为了配合moc处理器生成插件导出函数,最终在调用插件接口返回实例时能够准确返回自己。我们写个demo来验证下 新建一个插件叫做PluginDemo qmake 编译一下看下中间结果内容: ...