Matplotlib单击事件不适用于多个Tkinter窗口

所以我在主窗口中实现了这一点。而且一切正常。每当调用input_button时,都会创建一个新窗口

        canvas = FigureCanvasTkAgg(f,self)
        f.canvas.mpl_connect('button_press_event',on_click)
        f.canvas.mpl_connect('button_release_event',off_click)
        canvas.draw()
        toolbar = NavigationToolbar2Tk(canvas,self)
        toolbar.update()
        toolbar.pack()

        canvas.get_tk_widget().pack(side = BOTTOM,fill = BOTH,expand = True)

        text_input = Entry(self)
        text_input.pack(side = LEFT)
        input_button=Button(self,height=1,width=10,text="Find",command=lambda: new_window(x,y,self))
        input_button.pack(side = LEFT)

下面的代码在new_window()函数中。但是每当我在此处打开Toplevel()窗口时,Matplotlib事件似乎都无法正常工作。

            window = Toplevel()
            window.minsize(width=1080,height=900)
            fig,axes1 = plt.subplots()


            axes1.scatter(mapx,mapy,cmap='Paired')

            word_canvas = FigureCanvasTkAgg(fig,window)
            fig.word_canvas.mpl_connect('button_press_event',window_click)
            plot_widget = word_canvas.get_tk_widget()
            plot_widget.pack(side = TOP,expand = True)

它给出错误-AttributeError:'Figure'对象没有属性'word_canvas'。 我在这里做错了什么?由于两个代码相同。为什么一种有效,一种无效?

sgdtiancai 回答:Matplotlib单击事件不适用于多个Tkinter窗口

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/2923381.html

大家都在问