Eu quero desenvolver uma GUI em Python para o geoprocessamento ArcGIS.
Posso usar o PyQT para programação de GUI no ArcGIS?
Também considerei usar o Tkinter e o wxPython.
Eu questionaria a necessidade de usar sua própria GUI para geoprocessamento.
A idéia de uma ferramenta de geoprocessamento é que ela passa pelas interfaces padrão (a caixa de diálogo de progresso do GP, se ativada para mensagens e uma caixa de diálogo de progresso, a caixa de diálogo da ferramenta GP para definir parâmetros e executar a ferramenta, etc.) e eu gostaria de ouvir o caso de uso para tentar contornar tudo isso.
Em suma: é tudo uma questão do que funciona melhor para você.
Não mencionei que o PyQT parece funcionar de maneira um pouco mais estável no ArcMap e em outros programas com seus próprios loops de eventos que Wx ou Tk. Os programas Wx e Tk tendem a esperar serem os únicos threads da interface do usuário em execução em um processo e se comportam mal com os loops de eventos em outros programas da GUI.
Estou com Jason - Você realmente deve considerar a necessidade de uma GUI de geoprocessamento, pois a caixa de diálogo de progresso de geoprocessamento do ArcGIS (pelo menos na 9.3.1, não sei sobre 10) pode ser um pouco personalizada para se adaptar às suas necessidades (adição de mensagens, arquivos de log, barras de progressores e outros).
Pela minha experiência, o Tkinter é fácil de entender, mas complicado quando se deseja designs muito prontos para uso. Além disso, há momentos em que ele não interage muito bem com o ArcGIS (janelas desaparecendo e outras). Existe uma biblioteca GUI "simplificada" chamada EASYGUI, baseada no Tkinter e muito mais agradável e fácil de controlar. Eu brinquei um pouco e achei muito mais amigável que Tkinter.
Eu tentei o que você quer fazer, e Jason está certo - use as ferramentas integradas. Se você tentar executar praticamente qualquer conjunto de widgets python da GUI dentro do processo do Arcmap, terá vários tipos de problemas - eu tentei. É melhor executar sua GUI fora do processo e conversar com o Arcmap através dos Arcobjects COM, usando o IGeoprocessor para executar ferramentas. Mas se seu objeto estiver simplesmente executando ferramentas e scripts de geoprocessamento, você realmente não poderá fazer muito melhor do que criar suas próprias ferramentas de caixa de ferramentas e usar as interfaces de ferramentas padrão.