1.什么是QGIS C++ 的插件
QGIS的C++插件是一系列动态链接库(DLL),它们能在QGIS运行时自动加载(一般QGIS在启动时将plugins目录中查找到的所有动态库,将其全部加载,当QGIS关闭时卸载所有插件),我们还可以通过插件管理器管理插件,控制那些插件加载那些不加载。
对于每个插件我们需要实现以下通用函数。
动态库的加载函数:
QGISEXTERN QgisPlugin * classFactory(QgisInterface * theQgisInterfacePointer ) 实例化当前的插件
QGISEXTERN QString name() 插件名称
QGISEXTERN QString description() 插件描述信息
QGISEXTERN int type()
QGISEXTERN void unload( QgisPlugin * thePluginPointer )释放插件本身
插件类的方法:
initGui 创建插件的界面元素如:菜单和工具栏
unload()释放插件创建的类、界面元素
2.如何创建插件工程编写插件
进入QGIS的源代码目录,里面有一个plugin_builder.py,它就是QGIS提供的自动创建插件工程的PYTHON程序。类似MFC向导。
打开控制台执行python plugin_builder.py
根据向导的提示输入目录、名称、描述等信息,生成插件的CMAKE工程
利用CMAKE生成VC的工程(详细见以前博客,CMAKE2.8编译)
最后,CMAKE为我们非常方便的生成了一个插件的VC工程,我们在这里就可以添加我们相应的业务代码
本文出自 “开源GIS平台” 博客,请务必保留此出处http://osgis.blog.51cto.com/10026717/1625183