pythonaddins 模块

pythonaddins 模块包括用于支持 Python 加载项的函数。

注注:

pythonaddins 模块只可用于 Python 加载项内。它无法用于独立脚本和地理处理脚本工具。

功能

说明

OpenDialog({title}, {multiple_selection}, {starting_location}, {button_caption})

打开对话框以选择一个或多个 GIS 数据集。此函数返回所选数据集的完整路径。如果选择多个数据集,将返回一份完整路径列表。不能过滤输入数据集(例如,没有仅针对点要素类的过滤器)。

  • {title} - 对话框标题。
  • {multiple_selection} - 指明是否可以选择多个项目。默认情况下为 False。
  • {starting_location} - 起始位置的路径。
  • {button_caption} - 用于“打开”按钮的说明文字。

SaveDialog({title}, {name_text}, {starting_location})

打开对话框以保存数据。此函数返回要保存的数据集的完整路径。

  • {title} - 对话框标题。
  • {name_text} - 显示在对话框的名称文本框中的数据集名称。
  • {starting_location} - 用于保存数据的起始位置的路径。

GPToolDialog(toolbox, tool_name)

打开地理处理工具对话框。

  • toolbox - 工具箱位置。
  • tool_name - 工具名称。

MessageBox(message, title, {mb_type})

显示消息框。此函数返回表示按下的消息按钮的字符串值。

  • message - 要显示的消息。
  • title - 消息框标题。
  • {mb_type} - 要显示的消息框类型。默认选项为 0(确定消息)。有关 {mb_type} 代码的完整列表,请参阅下表。

GetSelectedTOCLayerOrDataFrame()

返回内容列表中的所选图层或数据框。

mb_type 代码

消息框类型

0

仅确定

1

确定/取消

2

中止/重试/忽略

3

是/否/取消

4

是/否

5

重试/取消

6

取消/重试/继续

{mb_type} 代码

此加载项按钮使用 OpenDialog() 选择一组图层文件,并将每个图层都添加到所选数据框中。

import arcpy
import pythonaddins

class AddLayers(object):
    def __init__(self):
        self.enabled = True
        self.checked = False
    def onClick(self):
        layer_files = pythonaddins.OpenDialog('Select Layers', True, r'C:\GISData', 'Add')
        mxd = arcpy.mapping.MapDocument('current')
        df = pythonaddins.GetSelectedTOCLayerOrDataFrame()
        if not isinstance(df, arcpy.mapping.Layer):
            for layer_file in layer_files:
                layer = arcpy.mapping.Layer(layer_file)
                arcpy.mapping.AddLayer(df, layer)
        else:
            pythonaddins.MessageBox('Select a data frame', 'INFO', 0)

此加载项按钮可打开地理处理工具。

import arcpy
import pythonaddins

class OpenGPTool(object):
    def __init__(self):
        self.enabled = True
        self.checked = False
    def onClick(self):
        pythonaddins.GPToolDialog(r'C:\MyTools\WaterStudy.tbx', 'GroundWaterYield')

5/10/2014