Das pythonaddins-Modul

Das pythonaddins-Modul enthält Funktionen zur Unterstützung von Python-Add-Ins.

HinweisHinweis:

Das pythonaddins-Modul kann nur innerhalb eines Python-Add-Ins verwendet werden. Es kann nicht in eigenständigen Skripten oder Skriptwerkzeugen für die Geoverarbeitung eingesetzt werden.

Funktion

Erläuterung

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

Öffnet ein Dialogfeld zur Auswahl von einem oder mehreren GIS-Datasets. Diese Funktion gibt den vollständigen Pfad des ausgewählten Datasets zurück. Wenn mehrere Datasets ausgewählt sind, wird eine Liste der vollständigen Pfade zurückgegeben. Es gibt keine Filterung der Eingabe-Datasets (z. B. Filterung nach Point-Feature-Classes).

  • {title} – Der Titel des Dialogfeldes.
  • {multiple_selection} – Gibt an, ob mehrere Elemente ausgewählt wurden. Standardmäßig "False".
  • {starting_location} – Der Pfad des Startverzeichnisses.
  • {button_caption} – Die für die Schaltfläche "Öffnen" zu verwendende Beschriftung.

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

Öffnet ein Dialogfeld zum Speichern der Daten. Diese Funktion gibt den vollständigen Pfad für das zu speichernde Dataset zurück.

  • {title} – Der Titel des Dialogfeldes.
  • {name_text} – Der im Namenstextfeld des Dialogfeldes angezeigte Dataset-Name.
  • {starting_location} – Der Pfad zum Startverzeichnis, wo die Daten gespeichert werden.

GPToolDialog(toolbox, tool_name)

Öffnet das Dialogfeld eines Geoverarbeitungswerkzeugs.

  • toolbox – Der Speicherort dieser Toolbox.
  • tool_name – Der Name des Werkzeugs.

MessageBox(message, title, {mb_type})

Zeigt ein Meldungsfeld an. Diese Funktion gibt einen Zeichenfolgenwert entsprechend der gedrückten Meldungsschaltfläche zurück.

  • message– Die anzuzeigende Meldung.
  • title – Der Titel des Meldungsfeldes.
  • {mb_type} – Der Typ des anzuzeigenden Meldungsfeldes. Die Standardoption ist 0 (OK). Eine vollständige Liste der {mb_type}-Codes finden Sie in der Tabelle unten.

GetSelectedTOCLayerOrDataFrame()

Gibt den ausgewählten Layer oder Datenrahmen aus dem Inhaltsverzeichnis zurück.

mb_type-Code

Meldungsfeldtyp

0

Nur OK

1

OK/Abbrechen

2

Abbrechen/Wiederholen/Ignorieren

3

Ja/Nein/Abbrechen

4

Ja/Nein

5

Wiederholen/Abbrechen

6

Abbrechen/Erneut versuchen/Fortfahren

{mb_type}-Codes

Diese Add-In-Schaltfläche verwendet OpenDialog(), um einen Satz Layer-Dateien auszuwählen und die Layer zum ausgewählten Datenframe hinzuzufügen.

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)

Diese Add-In-Schaltfläche öffnet ein Geoverarbeitungswerkzeug.

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/9/2014