[Tkinter] Mouse click event not working on multiple tkinter window - Printable Version +- Python Forum (https://python-forum.io) +-- Forum: Python Coding (https://python-forum.io/forum-7.html) +--- Forum: GUI (https://python-forum.io/forum-10.html) +--- Thread: [Tkinter] Mouse click event not working on multiple tkinter window (/thread-23186.html) |
Mouse click event not working on multiple tkinter window - evrydaywannabe - Dec-15-2019 In the below code mpl_connect works for the main window. But when a window using Toplevel() is called. mpl_connect doesn't work. Both codes are same. So whats the issue here? This code is in the main window of tkinter 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,text_input)) input_button.pack(side = LEFT)When text_input button is called the below function is called "Menu bar functionality starts here" def new_window(tuplex,tupley,text_input): def getboundary(event): # print(slider.get()) boundary = slider.get() therestx, theresty, thecoordinates = plottingthe_words_outside_a_boundary(dictionary, distance_list, boundary) sentences = returning_sentences_of_the_remaining_words(thecoordinates, sent_dic) print("x co ordinates outside the boundary") print(therestx) print("y co ordinates outside the boundary") print(theresty) print("the remaining sentences") print(sentences) # axes1.scatter(therestx,theresty, cmap='Paired') axes1.clear() axes1.scatter(therestx,theresty, cmap='Paired') word_canvas.draw() def window_click(event): print("Something") mapx,mapy = plottingdesiredword(labels, tuplex, tupley, text_input.get()) dictionary, distance_list = dictionaryofeuclideandistanceandtheircoordinates(labels, tuplex, tupley, text_input.get()) maximumdistance = max(distance_list) window = Tk.Toplevel() window.minsize(width=1080, height=900) fig, axes1 = plt.subplots() axes1.scatter(mapx, mapy, cmap='Paired') word_canvas = FigureCanvasTkAgg(fig, window) # word_canvas.bind("<Button-1>", window_click) fig.word_canvas.mpl_connect('button_press_event', window_click) plot_widget = word_canvas.get_tk_widget() plot_widget.pack(side = TOP, fill = BOTH, expand = True) help = Label(window, text="Slide to set boundary",font=("Helvetica", 16)) help.pack() slider = Scale(window,from_=0, to=maximumdistance, orient=HORIZONTAL,command=getboundary) slider.pack(fill = BOTH) # print(var.get()) word_canvas.draw()The following error is created - File "root.py", line 481, in new_window fig.word_canvas.mpl_connect('button_press_event', window_click) AttributeError: 'Figure' object has no attribute 'word_canvas' RE: Mouse click event not working on multiple tkinter window - Larz60+ - Dec-15-2019 please show all each script in its own single code window so that it can be run Thank you RE: Mouse click event not working on multiple tkinter window - woooee - Dec-16-2019 And explain what "doesn't work" means. |