Python Toolbox 도움말에 대한 매개 변수 설명을 정의 하시겠습니까?


14

ArcMap 애플리케이션 (예 : MyTool.pyt)을위한 Python Toolbox를 만들려고합니다.

도움말 텍스트가 클래스 self.description 속성으로 정의되어 있음을 알 수 있습니다.

그러나 프로그램을 실행하고 매개 변수 필드를 클릭하면 도움말 / 설명 텍스트가 비어 있습니다. 각 매개 변수에 대한 설명 필드를 제공하고 싶습니다. 이것이 어떻게 이루어 집니까?

일부 응답 후 '항목 설명'을 마우스 오른쪽 버튼으로 클릭하면 상황에 맞는 메뉴를 통해 채워질 수있는 많은 필드가 있음을 알 수 있습니다. 이 작업을 수행하는 '파이 토닉'방법이 있습니까? 즉, .pyt 파일 클래스에 일부 속성을 포함시키는 것입니까?

예를 들어 .pyt 도구 상자 정의에는 Toolbox 클래스가 있습니다.

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....

self.description 문자열에서 도구 대화 상자 도움말 창이이 텍스트를 표시합니다. 그러나 내가하고 싶은 것은 도구가 시작되고 사용자가 매개 변수 필드를 클릭하면 매개 변수 설명이 표시되도록 각 매개 변수에 대한 코드에 '설명'이 포함되어 있다는 것입니다. 아래 응답에서 참조 된 '항목 설명'방법을 사용 하여이 작업을 수행하는 경우 각 매개 변수의 구문 섹션에서 대화 상자 설명 필드를 편집합니다 ...

답변:


16

도움말 텍스트가 클래스 self.description 속성으로 정의되어 있음을 알 수 있습니다.

이것은 당신이 잘못 가고있는 곳입니다. 도움말 페이지 에서 Python 도구 상자에 도구를 문서화하면 다음과 같이 표시됩니다.

Python 도구 상자의 경우 도구 상자 및 도구에 대한 설명서는 도구 상자 및 도구 와 관련된 .xml 파일 에 이름으로 저장됩니다. 각 도구에 대한 도움말은 별도의 .xml 파일에 저장됩니다.

이는 .pyt 파일 자체에서 도움말 텍스트를 설정할 수 없음을 의미합니다. 도움말 텍스트가 일반 ASCII가 아니라 서식, 글 머리 기호 및 이미지를 포함 할 수있는 리치 텍스트라고 생각할 때이 방법이 적합합니다.

다행히도 Python 은 XML 읽기 및 쓰기를 지원 하므로 별도의 스크립트에서 도움말 텍스트를 동적으로 편집 할 수 있어야합니다.


2
'문서'도움말 페이지에 대한 링크에 감사드립니다. 검색했지만 어떤 이유로 인해 해당 페이지로 연결되지 않았습니다. ESRI가 restructuredText를 지원한다면 좋을 것입니다. 그런 다음 Sphinx를 사용하는 것처럼 도구 상자를 코드에서 직접 문서화 할 수 있습니다.
John

"별도의 스크립트에서 도움말 텍스트를 동적으로 편집 할 수 있어야합니다." -> 매우 바람직 할 것입니다. 이것을위한 도구를 개발 한 사람이 있습니까?
Ratnanil

13

다음 단계에 따라 각 매개 변수에 대한 메시지를 정의 할 수 있습니다.

  1. ArcCatalog를 열고 카탈로그 트리에서 스크립트를 강조 표시하십시오.
  2. 설명 탭을 선택하십시오
  3. 편집 버튼을 클릭하십시오
  4. 각 매개 변수 옆에있는 아래쪽 화살표를 클릭하고 메시지를 입력하십시오.
  5. 마지막으로 저장 버튼을 클릭하여 편집 내용을 저장하십시오

사용자가 스크립트 매개 변수를 클릭하면 메시지가 표시됩니다.


4
감사합니다 .. 그러면이 정보가 궁극적으로 어디에 저장되는지 알고 있습니까? .pyt 파일이있는 폴더에 생성 된 것으로 보이는 xml 파일에 기록됩니까?
John

11

올바르게 이해하면 함수에 도움말 텍스트를 추가하고 싶습니다. 도구 상자 창에서 도구를 마우스 오른쪽 버튼으로 클릭하고 항목 설명을 클릭 한 다음 상단에서 편집 을 클릭 하면됩니다. 각 매개 변수에 대한 설명을 추가 할 수 있으며 매개 변수를 클릭하면 도움말 섹션에 표시됩니다.

Arcmap 10.0 (적어도 이전 SP)에있는 경우 Arcmap의 ArcCatalog 창 (도구 상자로 이동)에서이 작업을 수행해야합니다.


고마워, 이것은 도움이되며 실제로 해결책 인 것 같습니다. 사실, 그것은 나를 위해 완전히 새로운 일련의 질문을 열어줍니다! 10.1의 Python Toolboxs (.pyt) 파일을 통해서만 도구 상자로 작업했기 때문에 이러한 '항목 설명'필드에 대해 전혀 알지 못했습니다. 불행히도, 그것은 내가 쫓아 온 것이 아니지만 ... 지금 질문을 편집 할 것입니다.
John

2

도구의 메타 데이터 편집 만 클릭하면 각 매개 변수에 대해 표시 할 메시지를 쉽게 편집 할 수 있습니다.

여기에 이미지 설명을 입력하십시오

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.