¿Definir descripciones de parámetros para la ayuda de Python Toolbox?

13

Estoy intentando crear algunas cajas de herramientas de Python para nuestra aplicación ArcMap (por ejemplo, MyTool.pyt)

Puedo ver que el texto de ayuda está definido con el atributo de auto-descripción de las clases.

Sin embargo, una vez que ejecuto el programa y hago clic en cualquiera de los campos de parámetros, el texto de ayuda / descripción se queda vacío. Me gustaría poder proporcionar el campo de descripción para cada parámetro. ¿Cómo se logra esto?

Después de algunas respuestas, veo que a través del menú contextual del botón derecho 'Descripción del elemento' hay muchos campos que pueden completarse. ¿Hay una forma 'pitónica' de hacer esto? Es decir, ¿solo incrustando algunos atributos en las clases de archivos .pyt?

Por ejemplo, en la definición de la caja de herramientas .pyt tiene la clase de Caja de herramientas:

import arcpy

class Toolbox(object):
    def __init__(self):
        """Define the toolbox (the name of the toolbox is the name of the
        .pyt file)."""
        self.label = "My Toolbox"
        self.alias = ""

        # List of tool classes associated with this toolbox
        self.tools = [MyNiceTool]


class MyNiceTool(object):
    def __init__(self):
        """Define the tool (tool name is the name of the class)."""
        self.label = "My Tool Class"
        self.description = """
A description that shows up in the help context side pane when the tool is launched.
        """
        self.canRunInBackground = True

    def rest_of_required_methods....

Desde la cadena de auto descripción, la ventana de ayuda del cuadro de herramientas mostrará este texto. Sin embargo, lo que quiero hacer es tener también una 'descripción' incrustada en mi código para cada parámetro, de modo que cuando se inicie la herramienta y el usuario haga clic en un campo de parámetro, se muestre la descripción del parámetro. Si tuviera que hacer esto utilizando el método de 'Descripción del elemento' al que se hace referencia en las respuestas a continuación, editaría los campos Explicación de diálogo en la sección Sintaxis de cada parámetro ... supongo.

    
pregunta John 14.05.2013 - 14:12

4 respuestas

15
  

Puedo ver que el texto de ayuda está definido con el atributo de auto-descripción de las clases.

Aquí es donde te vas mal. En la página de ayuda Documentar una herramienta en una caja de herramientas de Python dice:

  

Para las cajas de herramientas de Python, la documentación de la caja de herramientas y las herramientas están almacenadas en archivos .xml que están asociadas con la caja de herramientas y las herramientas por su nombre. La ayuda para cada herramienta se almacenará en un archivo .xml separado.

Esto significa que no puede configurar el texto de ayuda desde el propio archivo .pyt. Esto tiene sentido cuando considera que el texto de ayuda no es ASCII simple sino un texto enriquecido que puede incluir formato, viñetas e imágenes.

Afortunadamente, Python admite la lectura y escritura de XML , por lo que debería poder editar dinámicamente el Texto de ayuda de un script separado.

    
respondido por el dmahr 14.05.2013 - 16:28
11

Puede definir mensajes para cada parámetro siguiendo estos pasos:

  1. Abra ArcCatalog y resalte la secuencia de comandos en el árbol de catálogo
  2. Seleccione la pestaña Descripción
  3. Haz clic en el botón Editar
  4. Haga clic en la flecha hacia abajo junto a cada parámetro y escriba un mensaje
  5. Finalmente, guarde las ediciones haciendo clic en el botón Guardar

Cuando un usuario haga clic dentro de un parámetro de script ahora verá su mensaje.

    
respondido por el artwork21 14.05.2013 - 14:34
9

Si entiendo correctamente, desea agregar textos de Ayuda a sus funciones. Esto se puede hacer haciendo clic derecho en su herramienta desde la ventana de la caja de herramientas y haciendo clic en Descripción del elemento y luego Editar en la parte superior. Le permitirá agregar una descripción para cada parámetro, que aparecerá en la sección de ayuda cuando haga clic en el parámetro.

Si está en Arcmap 10.0 (al menos SP anteriores) debe hacerlo desde la ventana de ArcCatalog (busque su caja de herramientas) dentro de Arcmap para que funcione.

    
respondido por el Martin 14.05.2013 - 14:32
0

Solo necesita hacer clic en los metadatos de edición de la herramienta y verá que para cada parámetro puede editar fácilmente los mensajes que se muestran.

    
respondido por el Nacho Moreno 17.09.2018 - 01:22

Lea otras preguntas en las etiquetas