所有地理处理参数都附带一个默认控件。 这是地理处理窗格中参数的默认外观。 控件反映了数据类型以及参数是否接受一个或多个值。 地理处理框架支持有限数量的控件,用于修改地理处理窗格中显示的控件。
在脚本工具或 Python 工具箱工具中,可以使用 Parameter 对象的 controlCLSID 属性覆盖默认控件。
在脚本工具中,与大多数其他参数属性不同,控件无法通过工具属性对话框进行修改,必须在验证代码中进行设置。 在工具 ToolValidator 类的 __init__ 方法中设置 controlCLSID。
def __init__(self):
self.params = arcpy.GetParameterInfo()
self.params[1].controlCLSID = '{15F0D1C1-F783-49BC-8D16-619B8E92F668}'
在 Python 工具箱中,在工具类的 getParameterInfo 方法中定义参数后设置 controlCLSID。
extent = arcpy.Parameter(
displayName='Extent',
name='Extent',
datatype='GPExtent',
parameterType='Required',
direction='Input')
extent.controlCLSID = '{15F0D1C1-F783-49BC-8D16-619B8E92F668}'
范围
范围数据类型的默认控件如下显示:
使用值为 controlCLSID 的 {15F0D1C1-F783-49BC-8D16-619B8E92F668} 将控件更改为以下各项。
数值(长整型和双精度)
具有范围过滤器的长整型和双精度数据类型的默认控件显示如下:
使用值为 controlCLSID 的 {C8C46E43-3D27-4485-9B38-A49F3AC588D9} 将滑动条添加至参数。
长整型和双精度数据类型的默认控件显示如下:
对于左定向的较大文本框,使用值为 controlCLSID 的 {7A47E79C-9734-4167-9698-BFB00F43AE41}。
复合
复合数据类型为用于组合至少两个数据类型的参数。 在以下示例中,复合数据类型由线性单位和字段数据类型组成。 控件基于第一个数据类型,通常使得难以正确添加其他数据类型的值。
使用值为 controlCLSID 的 {BEDF969C-20D2-4C41-96DA-32408CA72BF6} 将控件更改为以下各项。 此控件提供一个选择列表,用于将控件从一个数据类型切换为另一个,从而简化为参数使用的任何数据类型提供值的过程。
字符串
字符串数据类型通常用于支持一组关键字。 范围数据类型的默认控件如下显示:
要支持接受多行文本块的参数,使用值为 controlCLSID 的 {E5456E51-0C41-4797-9EE4-5269820C6F0E}。
多值
具有值列表过滤器的多值字符串、字段、长整型和双精度数据类型的默认控件显示如下:
要支持接受选项选择列表的参数,使用值为 controlCLSID 的 {172840BF-D385-4F83-80E8-2AC3B79EB0E0}。
同样,要创建接受选项选择列表的参数并包含全选按钮,使用值为 controlCLSID 的 {38C34610-C7F7-11D5-A693-0008C711C8C1}。
要素图层
要素图层数据类型的默认控件显示如下:
要素图层数据类型支持要素类和要素图层作为输入。 要同时支持要素集,使用值为 controlCLSID 的 {60061247-BCA8-473E-A7AF-A2026DDE1C2D}。 使用工具时,单击交互式输入按钮 以交互的方式为工具输入创建要素。
注:
使用要素集数据类型创建相同的效果。