QGis provider模块的编写
来源:互联网 发布:菜鸟java并发编程书籍 编辑:程序博客网 时间:2024/04/29 20:32
- provider模块用于提供数据
- 会作为一个节点显示在一条树上
- 必须至少有两个类
- provider类,继承与QgsDataProvider
- RootItem类,节点类
- provider类,继承与QgsDataProvider
- 提供连接节点的话还需提供连接节点类
- 提供自定义连接的话还需实现连接类
- 无父类,自由发挥
- 系统有写好的httlp连接类,可以直接使用
- 最简单的provider模块编写
- 在src/providers下新建一个目录
- 模仿ows插件,ows下所有文件拷贝过去,替换名称就行,注意代码里的文件名也要修改
- 修改.cpp .h文件名
- 修改代码引用的文件名
- 修改代码里的类名
- 在*provider.cpp中替换provider显示的名字
- 修改CMakeLists.txt里的文件名
- 修改src/providers下的CMakeLists.txt,添加harmony目录
- 在src/providers下新建一个目录
- 编写具有自定义ui的provider模块harmony
- 说明
- ows模块使用自带的QgsNewHttpConnection类,所以不带ui
- provider模块的ui统一放在\src\ui目录下
- 继承自Qt窗口类的界面类可以放在\src\gui目录(qgis自带的gui放在那里),我们可以就放在provider目录
- 这个例子是实现了一个connection窗口类,在单机新连接后弹出一个对话框
- 在ows的基础上修改
- 需要的修改
- harmonydataitems.cpp
- 打开这个#if,激活newConnection()槽函数
- 在newConnection中调用新写的对话框
- harmonydataitems.cpp
- 步骤
- 在已经有个无 ui provider模块的基础上
- 新建一个基于QDialog的对话框
- 将代码复制到src/providers/harmony中
- 并在CMakeLists.txt中添加这两个文件
- 将ui文件复制到src/ui中
- CMakeLists.txt
######################################################### Files#设置源文件列表SET(HARMONY_SRCSharmonyprovider.cppharmonydataitems.cppharmonyconnection.cpp)#头文件SET(HARMONY_MOC_HDRSharmonyprovider.hharmonydataitems.hharmonyconnection.h)######################################################### Build#添加生成的MOC源文件,这些文件是根据头文件生成的QT4_WRAP_CPP(HARMONY_MOC_SRCS ${HARMONY_MOC_HDRS})#设置库文件目录INCLUDE_DIRECTORIES(#qgis core../../core#qgis gui../../gui${CMAKE_CURRENT_BINARY_DIR}/../../ui)#生成动态库ADD_LIBRARY (harmonyprovider MODULE ${HARMONY_SRCS} ${HARMONY_MOC_SRCS})#链接其他库TARGET_LINK_LIBRARIES (harmonyproviderqgis_coreqgis_gui)######################################################### Install#生成插件INSTALL(TARGETS harmonyproviderRUNTIME DESTINATION ${QGIS_PLUGIN_DIR}LIBRARY DESTINATION ${QGIS_PLUGIN_DIR})
- 说明
0 0
- QGis provider模块的编写
- qgis源码学习3之core模块的qgis.h文件
- qgis 源码学习之core的gps模块
- qgis源码学习2之core模块的raster
- 编写完整的Content provider示例
- 编写完整的Content provider示例
- Android-编写简单的Content Provider
- 编写最简单的Content Provider
- apache 模块的编写
- 模块的编写
- 内核模块的编写
- Qgis 数据的入库
- qgis
- 编写一个基于Provider的ASP.NET跟踪服务 (转贴)
- 编写一个基于Provider的ASP.NET跟踪服务 (翻译)
- 【Android学习系列】编写完整的Content provider示例
- 在windows下的eclipse中编写provider
- 用户登陆模块的编写
- 移动前端不得不了解的HTML5 head 头标签(2016最新版)
- react
- cvpr读书笔记[1]:VJ人脸检测框架。Viola-Jones Objects detection framwork
- Design: FloatingActionButton相关的开源库
- PHP的垃圾回收机制及session的销毁原理
- QGis provider模块的编写
- VR直播系统搭建——全景视频拼接概述
- 周转时间 平均周转时间 带权周转时间 平均带权周转时间
- 修改系统字符集
- JMeter之录制脚本
- RxJava使用入门
- C++块注释快捷键
- VS2013编译环境集成QT的配置方法
- java语言基础(4)——常量的概述和使用