Python可以在ArcGIS 桌面程序中创建如下的插件类型:

插件类型

描述

按钮(button)

是一个简单功能定制形式,可以在点击情况下执行一些业务逻辑。它会执行一个或一系列的动作。按钮可以放在工具条或菜单上。

工具(Tools)

和按钮类似,然而,工具需要用户和应用程序的显示进行交互,在这些交互之上执行一些业务逻辑。比如拉框放大工具。工具可以放在工具条和工具板上。

选项框(Combo Boxs)

它提供了一组选项,看上去是一个下拉的列表框,选择一个选项,就可以根据该选项执行一个动作。也可以让用户在该选项框上增加选项。比如,ArcMap中的比例尺选项。当已知的地图数据增加到ArcMap 中的时候,比例尺选项就变得可用,并且给出了一组预订一的比例尺。它也允许用户输入一个新的比例尺,当新比例尺加入完毕,地图也相应按照该比例尺更新。

菜单(Menus)

一个菜单时按钮或其他菜单的容器,可以将菜单增加到现有工具条或菜单上来显示该菜单。

工具条(Toolbars)

工具条是按钮,工具,选项框,工具板和菜单的容器。工具条和其他系统工具条一样,可以浮动或停靠在桌面程序中。工具条可以在桌面程序启动的时候激活并可见。

工具板(Tool Palettes)

是工具的容器。它只能增加到工具条上。

应用扩展(Application Extensions)

应用扩展有不同的用法来为ArcGIS桌面程序提供补充。

1.用来协调不同组件的激活状态,比如在一个插件中的按钮和工具。例如,当特定土层不存在时,一个扩展可以不激活一个工具条上的一组工具。

2.通常用来监听并响应宿主程序的不同事件。比如,当增加或删除一个图层的时候,一个事件就会触发,这个扩展就会自动保存该地图文档。

文章来源:http://blog.csdn.net/jiayp004/article/details/14002859

ArcGIS Desktop Python add-ins 插件类型的更多相关文章

  1. ArcGIS Desktop python Add-in Python 插件的文件结构

    如上图所示: 插件文件夹在根目录下有一个config.xml文件,这个文件保存有在向导添加的描述该插件的定制信息. 插件还有一个安装文件夹,这个文件夹的主要功能是存放Python脚本. 你可以在安装文 ...

  2. ArcGIS Desktop Python add-ins 共享和安装插件

    1)   共享和安装插件 共享Python插件的关键是.esriaddin文件;为了获取该插件功能,其他用户只要在本机执行安装操作或通过网络引用该插件就可以. ArcGIS插件安装工具 当用户双击一个 ...

  3. ArcGIS Desktop python Add-in 创建一个插件

    1)创建一个项目 首先创建一个插件项目,本节介绍如何利用向导创建一个插件项目. 创建任何一个ArcGIS插件产品的过程都是一样的. 创建一个Python插件项目包括2个步骤: a) 选择一个插件项目文 ...

  4. ArcGIS Desktop python Add-in 测试一个插件

    a)制作一个插件文件 先找到工作目录,双击运行makeaddin.py脚本.这个脚本拷贝所有插件需要的文件和文件夹并在工作目录形成一个压缩文件.该压缩文件名为工作目录名称加上".esriad ...

  5. 安装ArcGIS Desktop 9.3

    本文仅用于学习交流,商业用途请支持正版!转载请注明: http://www.cnblogs.com/mxbs/p/6216865.html 准备: ArcGIS Desktop 9.3.crack_f ...

  6. ArcGIS Desktop开发基础(转)

    http://www.cnblogs.com/maweifeng/archive/2006/07/19/455024.html  原文地址 ArcGIS Desktop开发的类型 ○ 自定义ArcMa ...

  7. ArcGIS Desktop 10.5 安装实录

    ArcGIS Desktop 10.5 安装实录 by 李远祥 几天前已经收到ArcGIS10.5的最终版安装介质,终于有时间可以安装一下.尽管ArcGIS10.5系列中,桌面软件不是主角,但笔者还是 ...

  8. Python中内置数据类型list,tuple,dict,set的区别和用法

    Python中内置数据类型list,tuple,dict,set的区别和用法 Python语言简洁明了,可以用较少的代码实现同样的功能.这其中Python的四个内置数据类型功不可没,他们即是list, ...

  9. 在Revit中如何显示附件模块(Add Ins) 这个命令页?zz

      分类: 概念说明 Revit Revit界面编程 Revit 二次开发入门2013-08-22 13:58 1395人阅读 评论(9) 收藏 举报 在windows 7 32-bit OS 上装了 ...

随机推荐

  1. 通过python构建集中式的病毒扫描机制

    Clam AntiVirus(Clam AV)是一个免费而且开放源码的防毒软件,软件与病毒库的更新由开源社区免费发布,目前ClamdAV主要为Linux.Uinux系统提供病毒扫描查杀pyClamad ...

  2. 快速预热Buffer_Pool缓冲池

    在之前的版本里,如果一台高负荷的机器重启后,内存中大量的热数据被清空,此时就会重新从磁盘加载到Buffer_Pool缓冲池里,这样当高峰期间,性能就会变得很差,连接数就会很高. 在MySQL5.6里, ...

  3. css 设置元素背景为透明

    要设置某一元素的背景为透明,在 chrome .firefox.opera 下是这样的: rgba 中的最后一个参数 0.4 就是想要的透明度,范围在0-1之间. 在 ie 中一般是这样的: filt ...

  4. 发布MVC项目到服务器上时候遇到的 模块 DirectoryListingModule 通知 ExecuteRequestHandler 处理程序 StaticFile 错误代码 0x00000000

    应用程序“HMW121197”中的服务器错误错误摘要HTTP 错误 403.14 - ForbiddenWeb 服务器被配置为不列出此目录的内容. 详细错误信息模块 DirectoryListingM ...

  5. sql查询job

    use msdb go --if object_id('tempdb..#SqlAgentJob') is not null -- drop table #SqlAgentJob --go decla ...

  6. mysql中binlog_format的三种模式

    mysql复制主要有三种方式:基于SQL语句的复制(statement-based replication, SBR),基于行的复制(row-based replication, RBR),混合模式复 ...

  7. mysql datetime与timestamp精确到毫秒的问题

    CREATE TABLE `tab1` (`tab1_id` VARCHAR(11) DEFAULT NULL,`create` TIMESTAMP(3) NULL DEFAULT NULL,`cre ...

  8. poj2456(二分+贪心)

    题目链接:http://poj.org/problem?id=2456 题意: 有n个呈线性排列的牲畜堋,给出其坐标,有c头牛,求把两头牛的最短距离的最大值. 思路: 先将坐标排个序.两头牛的最短距离 ...

  9. anaconda+theano+keras手写字符识别新版

    标题介绍运行环境了win7 看网上好多keras识别minist 但是一般由于版本问题,无法直接用,,,这里还要特别感谢keras中文文档作者(三当家SCP).教程整的非常好.还有就是最好你在安装an ...

  10. 浅谈QT打印功能实现

    QT作为一款轻量级的集成开发环境,其设计的目标是使开发人员利用QT这个应用程序框架更加快速及轻易的开发应用程序.要达到此目的,要求QT必须能够跨平台,QT能够在32位及64位的Linux,MAC OS ...