Ich möchte zur Benutzereingabe auffordern, nachdem alle Parameter für das Skript-Tool angegeben wurden. Ich habe viele Forenbeiträge und Fragen zum Stapelaustausch gesehen, und alle kommen zu dem Schluss, dass dies unnötig ist, aber ich denke, mein Fall ist eine Ausnahme. Ich möchte dem Benutzer die Möglichkeit geben, Daten zu bestätigen, z. B. wie viele Sätze von GPS-Koordinaten vorhanden sind. Es werden Ja / Nein-Fragen sein ("Sind diese Daten offensichtlich falsch?"), Und das Eingabeformular für die Parameter des Skript-Tools scheint dafür nicht gut zu funktionieren.
Ich weiß, dass der Event-Handler von Tkinter Probleme mit ArcGIS verursacht, und andere Framworks haben ähnliche Probleme. Eine Problemumgehung, die ich gefunden habe, besteht darin, dass Ihr Skript ein anderes Skript aufruft, das als separater Prozess ausgeführt wird, und die GUI des zweiten Prozesses anzeigt, aber das scheint etwas zu hackig.
Anscheinend funktioniert wxPython , ist aber nicht in Python enthalten. Ich muss in der Lage sein, diese Skripte ohne zusätzliche Anforderungen außer ArcGIS zu verteilen, damit dies für mich nicht funktioniert.
Zur Verdeutlichung besteht die wichtigste Verwendung darin, den Benutzer aufzufordern, wenn meine Softwareüberprüfungen die Daten nicht validieren können. Ich habe beispielsweise eine Liste von IDs, die ich überprüfen möchte, aber das Format ist nicht konsistent. Ich möchte den Benutzer mit einem Ja / Nein-Dialogfeld auffordern können, wenn ich in der Software nicht validieren kann (z. B. wenn die ID nicht mit einem der gängigen Muster übereinstimmt). Es ist möglich, dass ohne mein Wissen neue ID-Formate erstellt werden.
Ein weiteres Beispiel: Ich habe eine Datei, die unter anderem eine Tabelle mit Start- und Stoppzeiten enthält. Ich möchte jede Zeile der Tabelle einzeln validieren, und all diese Daten sowie die anderen Überprüfungen in das Warnfenster zu packen, würde schnell hässlich werden.
quelle
Antworten:
Ich bin nicht sicher, ob diese Option für Sie funktioniert oder nicht, aber vielleicht können Sie darüber nachdenken, eine ac # -Anwendung zu erstellen.
quelle