Erstellen einer Python Add-In-Schaltfläche
Eine Schaltfläche ist die einfachste Art der Anpassung, die verwendet werden kann, um beim Anklicken eine Geschäftslogik auszuführen.
In diesem Thema erfahren Sie, wie Sie mithilfe des Python Add-In-Assistenten eine Schaltfläche in einer neuen Werkzeugleiste erstellen. Bevor Sie mit dem Workflow beginnen, stellen Sie sicher, dass Sie ein ArcMap Add-In-Projekt erstellt haben und die Projekteinstellungen angegeben haben. Weitere Informationen finden Sie unter Erstellen eines Add-In-Projekts. Dieser Workflow gilt für das Erstellen einer Schaltfläche für ArcMap, Sie können den Prozess jedoch auch anwenden, um eine Schaltfläche zur einer beliebigen ArcGIS Desktop-Anwendung hinzuzufügen. In diesem Thema wird der Prozess zum Erstellen einer einfachen Schaltfläche für "Auf ausgewählte Features zoomen" näher erläutert. Die vom Assistenten erstellte Python-Klasse wird dann näher untersucht, um die Eigenschaften und Methoden zu erläutern, die die Funktionen für die Schaltfläche bereitstellen.
Zum Erstellen einer Schaltfläche sind folgende Schritte erforderlich:
- Erstellen einer Werkzeugleiste oder eines Menüs
Nachdem Sie die erforderlichen Projekteinstellungen eingegeben haben, klicken Sie auf die Registerkarte Add-In Contents, und deklarieren Sie die Add-In-Anpassungen. Eine Schaltfläche kann sich auf einer Werkzeugleiste oder in einem Menü befinden. In diesem Beispiel wird einen neue Werkzeugleiste als Container für die Schaltfläche erstellt. Eine Anleitung zum Erstellen einer eigenen Werkzeugleiste finden Sie unter Erstellen einer Add-In-Werkzeugleiste.
- Erstellen der Schaltfläche
Nachdem Sie die Eigenschaften der Werkzeugleiste eingegeben haben, können Sie eine neue Schaltfläche erstellen. Klicken Sie mit der rechten Maustaste auf die neue Werkzeugleiste namens "Toolbar", und wählen Sie New Button aus.
Eine Schaltfläche verfügt über verschiedene Eigenschaften, die Sie einstellen können. In der folgenden Liste sind alle Eigenschaften mit einer kurzen Beschreibung aufgeführt. Diese Eigenschaften sind in der Datei config.xml für das Projekt gespeichert.
Eigenschaft Beschreibung Caption (erforderlich)
Legt den Titel der Schaltfläche fest. In der folgenden Abbildung sehen Sie, wie der Titel im ArcGIS Add-In-Manager verwendet wird, um die verschiedenen Arten von Anpassungen zu identifizieren (der Add-In-Typ ist in Klammern identifiziert):
In der nächsten Abbildung sehen Sie, wie der Titel als Text verwendet wird, um die Schaltfläche auf der Werkzeugleiste zu identifizieren:
Class (erforderlich)
Die Python-Klasse, die ausgeführt wird, wenn in einer Desktop-Anwendung auf die Schaltfläche geklickt wird. In der Python-Klasse schreiben Sie die Geschäftslogik für die Schaltfläche. Verwenden Sie die Python Benennungsregeln unter Beachtung von Groß- und Kleinschreibung zum Erstellen der Klasse (z. B. "ZoomToSelectedFeatures" statt "zoomtoselectedfeatures").
ID (erforderlich)
Der eindeutige Name zur Identifizierung der Schaltfläche. Es ist möglich, dass Sie mehrere Schaltflächen für ein bestimmtes Projekt erstellen, und diese ID wird verwendet, um zwischen den verschiedenen Schaltflächen zu unterscheiden. Idealerweise sollten Sie die Standard-ID durch einen aussagekräftigeren Wert ersetzen. Die ID darf keine Leerzeichen enthalten. Sie können Unterstriche als Trennzeichen zwischen Wörtern verwenden. Verwenden Sie keine Python-Schlüsselwörter. Reservierte Wörter finden Sie in der Python-Dokumentation.
ToolTip (optional)
Eine kurze Beschreibung, die angezeigt wird, wenn der Mauszeiger in einer Desktop-Anwendung über der Schaltfläche pausiert.
Message (optional)
Eine ausführliche Beschreibung der Funktionsweise der Schaltfläche. Diese Meldung wird unter dem ToolTip angezeigt, wenn der Mauszeiger über der Schaltfläche pausiert.
Image (optional)
Dabei sollte es sich um ein Bild mit 16x16 Pixeln handeln, welches die Schaltfläche symbolisiert. Das Bildformat kann eines der normalerweise verwendeten Formate sein (also .bmp, .jpg usw.). Das Bild wird in den Ordner "Images" im Add-In-Projekt kopiert.
Der letzte Abschnitt der Schaltfläche sind Überschrift und Inhalt der Hilfe. Diese Eigenschaften ermöglichen Ihnen, Informationen bereitzustellen, die verwendet werden, wenn ein Benutzer die kontextsensitive Hilfe aufruft. Diese sind Popup-Fenster, die so lange am Bildschirm angezeigt werden, bis ein Benutzer auf eine andere Stelle klickt.
Der Abschnitt der kontextsensitiven Hilfe besteht aus folgenden Eigenschaften:
Eigenschaft Beschreibung Heading (optional)
Gibt Informationen zum Inhalt der Hilfe an.
Content (optional)
Der Inhalt der Hilfe für die Schaltfläche.
Nachdem Sie die Eigenschaften eingegeben haben, können Sie zum Speichern auf die Schaltfläche Save unten im Assistenten klicken. Daraufhin werden alle erforderlichen Dateien und Ordner im Arbeitsordner erstellt.
- Bearbeiten des Python-Skripts
In dieser Phase haben Sie die Werte für die Eigenschaften hinzugefügt, die benötigt werden, um die Add-In-Schaltfläche zu definieren. Im nächsten Schritt bearbeiten Sie das Python-Skript und aktualisieren die Python-Klasse, um die Funktion zum Zoomen auf ausgewählte Features einzubauen. Wenn keine Features ausgewählt sind, wird auf die gesamte Ausdehnung aller Layer gezoomt. Zum Hinzufügen der Funktion zur benutzerdefinierten Schaltfläche führen Sie die folgenden Schritte aus:
- Bearbeiten Sie das Python-Skript im Ordner Install, der sich im Arbeitsordner befindet, den Sie mit dem Assistenten erstellt haben.
Es sollte eine Klasse mit demselben Namen vorhanden sein, den Sie oben in der Eigenschaft Class eingegeben haben. Benennen Sie diese Klasse nicht um, da der Klassenname in der Datei config.xml referenziert wird. Erläuterungen zu den einzelnen Funktionen und Eigenschaften der Klasse finden Sie unter Schaltflächen-Klasse.
- Fügen Sie den folgenden Skriptcode in die Funktion onClick(self) ein.
Dieser Code stellt die Funktion zum Zoomen auf ausgewählte Features bereit.
# Implementation of OnClick method of Button's class def onClick(self): # Get the current map document and the first data frame. mxd = arcpy.mapping.MapDocument('current') df = arcpy.mapping.ListDataFrames(mxd)[0] # Call the zoomToSelectedFeatures() method of the data frame class df.zoomToSelectedFeatures()
- Speichern Sie das Skript.
- Bearbeiten Sie das Python-Skript im Ordner Install, der sich im Arbeitsordner befindet, den Sie mit dem Assistenten erstellt haben.
- Testen der Schaltfläche
Nachdem Sie die Schaltfläche erstellt und den Skriptcode hinzugefügt haben, müssen Sie die Add-In-Datei erstellen und testen, bevor Sie sie freigeben. Eine Anleitung dazu finden Sie unter Testen von Add-Ins.
- Freigeben von Add-Ins
Nachdem Sie die Schaltfläche getestet haben und überprüft haben, ob sie wie erwartet funktioniert, können Sie das Add-In bereitstellen und freigeben. Weitere Informationen finden Sie unter Freigeben von Add-Ins.