답변:
지오 프로세싱을 위해 자신 만의 GUI를 사용해야하는지 의문입니다.
지오 프로세싱 툴의 아이디어는 표준 인터페이스 (메시지에 사용 가능한 경우 GP 진행 대화 상자 및 진행률 대화 상자, 매개 변수 설정 및 도구 실행을위한 GP 도구 대화 상자 등)를 거치고 있다는 것입니다. 그 모든 것을 우회하려는 유스 케이스.
대체로 당신에게 가장 잘 맞는 문제입니다.
PyQT는 ArcMap 및 Wx 또는 Tk보다 자체 이벤트 루프가있는 다른 프로그램에서 약간 더 안정적으로 작동하는 것 같습니다. Wx 및 Tk 프로그램은 프로세스에서 실행되는 유일한 UI 스레드 일 것으로 예상하고 다른 GUI 프로그램의 이벤트 루프와 잘못 작동합니다.
저는 Jason 과 함께 있습니다. ArcGIS 지오 프로세싱 진행 대화 상자 (최소 9.3.1, 10 정도는 알지 못함)를 사용자의 요구에 맞게 조금만 사용자 정의 할 수 있으므로 지오 프로세싱 GUI의 필요성을 고려해야합니다. 메시지, 로그 파일, 진행률 표시 줄 등).
내 경험으로는 Tkinter는 이해하기 쉽지만 즉시 사용 가능한 디자인을 원할 때 복잡합니다. 또한 ArcGIS (창이 사라지는 등)와 잘 상호 작용하지 않는 경우가 있습니다. Tkinter를 기반으로하는 EASYGUI라는 "간단한"GUI 라이브러리가 있으며 훨씬 더 훌륭하고 제어하기 쉽습니다. 나는 그것을 조금 가지고 놀고 Tkinter보다 훨씬 친숙하다는 것을 알았습니다.
나는 당신이하고 싶은 일을 시도했지만 Jason은 내장 도구를 사용합니다. Arcmap 프로세스 내에서 python gui 위젯을 사용하려고 시도하면 다양한 종류의 문제가 발생합니다. 시도했습니다. 프로세스 외부에서 GUI를 실행하고 IGeoprocessor를 사용하여 도구를 실행하는 COM Arcobject를 통해 Arcmap과 대화하는 것이 가장 좋습니다. 그러나 객체가 단순히 지오 프로세싱 도구와 스크립트를 실행하는 경우 자체 도구 상자 도구를 작성하고 표준 도구 인터페이스를 사용하는 것보다 훨씬 더 좋은 방법은 없습니다.