weixin_44220352 2020-04-20 14:01 采纳率: 0%
浏览 327

如何解决ArcGIS中python插件调用Tkinter创建窗口崩溃的问题?

本人毕设使用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窗口一步一步输入代码运行创建窗口基本不会有问题,但偶尔还是会有崩溃的可能。

本人能力较差,很多基本知识还不懂,现在只是想完成毕业设计,创建窗口和散点图又是必须要的,不知道在插件里生成图和窗口是否合理,希望能够有人给出解决方案。

  • 写回答

1条回答 默认 最新

  • weixin_42670381 2021-10-11 23:34
    关注

    我也遇到ARCMAP调用自定义加载项按钮,调用Tkinter窗口就奔溃,之前测试的时候不会的,不知道怎么的,现在就是会这样。有解决办法麻烦告知下谢谢,896719798@qq.com

    评论

报告相同问题?

悬赏问题

  • ¥15 关于#hadoop#的问题
  • ¥15 (标签-Python|关键词-socket)
  • ¥15 keil里为什么main.c定义的函数在it.c调用不了
  • ¥50 切换TabTip键盘的输入法
  • ¥15 可否在不同线程中调用封装数据库操作的类
  • ¥15 微带串馈天线阵列每个阵元宽度计算
  • ¥15 keil的map文件中Image component sizes各项意思
  • ¥20 求个正点原子stm32f407开发版的贪吃蛇游戏
  • ¥15 划分vlan后,链路不通了?
  • ¥20 求各位懂行的人,注册表能不能看到usb使用得具体信息,干了什么,传输了什么数据