学习如何编写 Qt Creator 插件最好的方法是亲自编写一个插件。在自己动手的过程中了解插件编写机制。这也是本章所要解决的问题。在这一章中,我们将创建我们的第一个插件。这个插件不会做任何事情,仅仅是为了让我们体验下开发 Qt Creator 插件的过程,以及感受下我们自己的插件同 Qt Creator 整合在一起时的那种激动之情。
我们可以在 Qt Creator 的帮助菜单中找到“关于插件...”一项。点击这个菜单项,我们就可以发现 Qt Creator 已经找到的所有插件:
下面我们开始创建第一个插件。
1. 创建 Qt Creator 插件工程
首先,在 $$QT_CREATOR_ROOT/src/plugins 文件夹下建立新的文件夹 DoNothing(或许你会奇怪,为什么不是经典的 helloworld?因为 Nokia 已经提供了一个名叫 helloworld 的插件)。我们的所有源代码都会放在这个文件夹下。
然后,我们创建我们的 .pro 文件:
TEMPLATE = lib TARGET = DoNothing include(../../qtcreatorplugin.pri) DESTDIR = $IDE_PLUGIN_PATH/Galaxy PROVIDER = Galaxy include(../../plugins/coreplugin/coreplugin.pri) HEADERS += DoNothingPlugin.h SOURCES += DoNothingPlugin.cpp OTHER_FILES += DoNothing.pluginspec
下面来逐行解释一下 .pro 文件的含义:
- 声明 DoNothing 是一个库,而我们的输出文件将是 DoNothing.dll;
- 说明 DoNothing 使用 qtcreatorplugin.pri 中定义的设置信息;
- 覆盖默认的输出文件夹为 $$IDE_PLUGIN_PATH/Galaxy。默认情况下,这个值将会是 $$IDE_PLUGIN_PATH/Nokia。其中,Galaxy 部分即是提供插件的公司或者组织名字;
- 说明 DoNothing 使用 coreplugin.pri 定义的配置信息;
- 提供编译插件所必需的 .h 和 .cpp 文件。
2. 标记需要编译的插件
下面,编辑 $$QT_CREATOR_ROOT/src/plugins/plugins.pro 文件,在最后面添加并保存:
SUBDIRS += plugin_DoNothing plugin_DoNothing.subdi