3 votos

Intento de utilizar Tkinter para abrir un cuadro de diálogo en ArcMap

El siguiente script funciona muy bien desde la línea de comandos pero se bloquea desde pythonaddin:

import Tkinter

import tkFileDialog
root = Tkinter.Tk()
root.withdraw()
pathtest = tkFileDialog.askopenfilename()
print pathtest

pathtest = pythonaddins.OpenDialog('Open Item', True) no me funciona porque suprime tipos de archivo que necesito ver (pdf).

Sé que esto es un duplicar pregunta pero acabo de unirme al sitio y no he podido comentar otras entradas.

1voto

Lazy Ninja Puntos 131

Es técnicamente posible utilizar Tkinter en arcpy / python addins utilizando multiprocesamiento, pero esto es bastante complicado y no es apoyado o recomendado por ESRI. Recomiendan el uso de C # en lugar de python para el desarrollo de GUI.

Véase esta entrada y http://anothergisblog.blogspot.se/2013/07/python-add-ins-and-tkinter.html

0voto

Lucas Puntos 128

Podrías intentar usar diálogos nativos de win32. Necesitarías tener pywin32 instalado en primer lugar (la versión instalable de pip es pypiwin32 ), entonces podrías hacer algo como

import win32ui
dlg = win32ui.CreateFileDialog(1, ".pdf", "Default File Name.pdf", 
                               0, "PDF Files (*.pdf)|*.pdf|All Files (*.*)|*.*|")
dlg.DoModal()
print dlg.GetPathName()
del dlg

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X