参数控件

每个地理处理参数都包含一个默认控件。 这是地理处理窗格中参数的默认外观。 控件反映了数据类型以及参数是否接受一个或多个值。 地理处理框架支持有限数量的控件,用于修改地理处理窗格中显示的控件。

在脚本工具或 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}。 使用工具时,单击编辑按钮 编辑 以交互的方式为工具输入创建要素。

带“编辑”按钮的要素图层控件

注:

使用要素集数据类型创建相同的效果。

值表

默认情况下,当具有值表数据类型的参数具有三列或更多列时,这些列将垂直排列。

带三个垂直列的默认值表控件

对于水平方向,使用 {1AA9A769-D3F3-4EB0-85CB-CC07C79313C8} 的值 controlCLSID

带三个水平列的值表控件

默认情况下,值表数据类型接受多组值或行。 在某些情况下,将参数限制为一组值可能会更好。 若要通过删除添加另一个按钮 添加值表数据类型限制为一组值,请使用 {1A1CA7EC-A47A-4187-A15C-6EDBA4FE0CF7} 的值 controlCLSID

不带“添加另一个”按钮的值表控件