本人毕设使用python使用用addin-assistant制作Arcmap插件,然而在插件调用matplotlib输出散点图时却导致Arcmap崩溃,如下图:
而后我发现只要插件调用Tkinter创建新窗口就会崩溃,输出散点图和创建新窗口异常信息都如下图:
以下是最基本的插件内容,只要点击按钮运行必崩溃:
#!/usr/bin/python
# -*- coding: UTF-8 -*-
import arcpy
import pythonaddins
import Tkinter as tk
class AB:
test=''
class ButtonClass2(object):
"""Implementation for test_addin.button (Button)"""
def __init__(self):
self.enabled = True
self.checked = False
def onClick(self):
top = tk.Tk()
l=tk.Label(top, text=AB.test, bg='green', font=('Arial', 12), width=30, height=2)
top.mainloop()
pass
class ComboBoxClass1(object):
"""Implementation for test_addin.combobox (ComboBox)"""
def __init__(self):
self.items = ["item1", "item2"]
self.editable = True
self.enabled = True
self.dropdownWidth = 'WWWWWW'
self.width = 'WWWWWW'
def onSelChange(self, selection):
pass
def onEditChange(self, text):
AB.test=text
pass
def onFocus(self, focused):
pass
def onEnter(self):
pass
def refresh(self):
pass
在Arcmap里的python窗口一步一步输入代码运行创建窗口基本不会有问题,但偶尔还是会有崩溃的可能。
本人能力较差,很多基本知识还不懂,现在只是想完成毕业设计,创建窗口和散点图又是必须要的,不知道在插件里生成图和窗口是否合理,希望能够有人给出解决方案。