Câu trả lời:
Tôi sẽ đặt câu hỏi về nhu cầu sử dụng GUI của riêng bạn để xử lý địa lý.
Ý tưởng của một công cụ xử lý địa lý là nó đi qua các giao diện tiêu chuẩn (hộp thoại tiến trình GP nếu được bật cho các thông báo và hộp thoại tiến trình, hộp thoại công cụ GP để đặt tham số và chạy công cụ, v.v.) và tôi muốn nghe trường hợp sử dụng để cố gắng phá vỡ tất cả.
Tất cả trong tất cả: tất cả là vấn đề tốt nhất cho bạn.
Tôi đã không đề cập đến việc PyQT dường như hoạt động theo xu hướng ổn định hơn một chút trong ArcMap và các chương trình khác với các vòng lặp sự kiện của riêng họ so với Wx hoặc Tk. Các chương trình Wx và Tk có xu hướng mong đợi là các luồng ui duy nhất chạy trong một tiến trình và hoạt động sai với các vòng lặp sự kiện trong các chương trình GUI khác.
Tôi với Jason - Bạn thực sự nên xem xét sự cần thiết của GUI xử lý địa lý, vì hộp thoại tiến trình xử lý địa lý ArcGIS (ít nhất là trong 9.3.1, không biết về 10) có thể được tùy chỉnh một chút để điều chỉnh theo nhu cầu của bạn (thêm tin nhắn, logfiles, thanh lũy tiến và như vậy).
Từ kinh nghiệm của tôi, Tkinter rất dễ hiểu nhưng phức tạp khi muốn những thiết kế rất độc đáo. Ngoài ra, đôi khi nó không tương tác tốt với ArcGIS (cửa sổ biến mất và như vậy). Có một thư viện GUI "đơn giản hóa" được gọi là EASYGUI dựa trên Tkinter, và đẹp hơn và dễ kiểm soát hơn. Tôi đã chơi với nó một chút và thấy nó thân thiện hơn Tkinter rất nhiều.
Tôi đã thử những gì bạn muốn làm và Jason đúng - sử dụng các công cụ tích hợp. Nếu bạn thử và chạy bất kỳ bộ widget python gui nào trong quy trình Arcmap, bạn sẽ gặp rắc rối với nhiều loại khác nhau - tôi đã thử nó. Tốt nhất để chạy GUI của bạn bên ngoài quy trình và nói chuyện lại với Arcmap thông qua COM Arcobjects, sử dụng IGeoprocessor để chạy các công cụ. Nhưng nếu đối tượng của bạn chỉ đơn giản là chạy các công cụ và tập lệnh xử lý địa lý, bạn thực sự không thể làm tốt hơn nhiều so với việc xây dựng các công cụ hộp công cụ của riêng bạn và sử dụng các giao diện công cụ tiêu chuẩn.