PyQT / Tkinter / wxPython을 사용하여 Python for ArcGIS 지오 프로세싱에서 GUI를 개발하십니까?


13

Python for ArcGIS 지오 프로세싱 GUI를 개발하고 싶습니다.

ArcGIS에서 GUI 프로그래밍에 PyQT를 사용할 수 있습니까?

또한 Tkinter 및 wxPython 사용을 고려했습니다.

답변:


21

지오 프로세싱을 위해 자신 만의 GUI를 사용해야하는지 의문입니다.

지오 프로세싱 툴의 아이디어는 표준 인터페이스 (메시지에 사용 가능한 경우 GP 진행 대화 상자 및 진행률 대화 상자, 매개 변수 설정 및 도구 실행을위한 GP 도구 대화 상자 등)를 거치고 있다는 것입니다. 그 모든 것을 우회하려는 유스 케이스.

대체로 당신에게 가장 잘 맞는 문제입니다.

  1. Tkinter는 내장되어 있지만 복잡하고 복잡한 것을 얻기에는 추악하고 어렵지만 UI를 작성하면 거의 모든 곳에서 실행 됩니다.
  2. Wx와 PyQT는 모두 기능적으로 비슷 하지만 wxPython 예제는 배우고 QT의 개발자 도구는 조금 더 훌륭합니다. 둘 다의 API를보고 어느 것이 더 적합한 지 결정하십시오.

PyQT는 ArcMap 및 Wx 또는 Tk보다 자체 이벤트 루프가있는 다른 프로그램에서 약간 더 안정적으로 작동하는 것 같습니다. Wx 및 Tk 프로그램은 프로세스에서 실행되는 유일한 UI 스레드 일 것으로 예상하고 다른 GUI 프로그램의 이벤트 루프와 잘못 작동합니다.


8

저는 Jason 과 함께 있습니다. ArcGIS 지오 프로세싱 진행 대화 상자 (최소 9.3.1, 10 정도는 알지 못함)를 사용자의 요구에 맞게 조금만 사용자 정의 할 수 있으므로 지오 프로세싱 GUI의 필요성을 고려해야합니다. 메시지, 로그 파일, 진행률 표시 줄 등).

내 경험으로는 Tkinter는 이해하기 쉽지만 즉시 사용 가능한 디자인을 원할 때 복잡합니다. 또한 ArcGIS (창이 사라지는 등)와 잘 상호 작용하지 않는 경우가 있습니다. Tkinter를 기반으로하는 EASYGUI라는 "간단한"GUI 라이브러리가 있으며 훨씬 더 훌륭하고 제어하기 쉽습니다. 나는 그것을 조금 가지고 놀고 Tkinter보다 훨씬 친숙하다는 것을 알았습니다.


4

나는 당신이하고 싶은 일을 시도했지만 Jason은 내장 도구를 사용합니다. Arcmap 프로세스 내에서 python gui 위젯을 사용하려고 시도하면 다양한 종류의 문제가 발생합니다. 시도했습니다. 프로세스 외부에서 GUI를 실행하고 IGeoprocessor를 사용하여 도구를 실행하는 COM Arcobject를 통해 Arcmap과 대화하는 것이 가장 좋습니다. 그러나 객체가 단순히 지오 프로세싱 도구와 스크립트를 실행하는 경우 자체 도구 상자 도구를 작성하고 표준 도구 인터페이스를 사용하는 것보다 훨씬 더 좋은 방법은 없습니다.


2

.NET 또는 Mono에서 GUI를 빌드 한 다음 Process 객체를 통해 Python 스크립트를 실행할 수 있습니다.

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