Jak zatrzymać przetwarzanie zdarzenia lub zmienić funkcję, która jest do niego przypisana?Usuwanie i zmiana powiązania zdarzenia tkinter w pythonie
Aktualizowano Kod:
from Tkinter import *
class GUI:
def __init__(self,root):
Window = Frame(root)
self.DrawArea = Canvas(Window)
self.DrawArea.pack()
Window.pack()
self.DrawArea.bind("<Button 1>",self.starttracking)
def updatetracking(self,event):
print event.x,event.y
def finishtracking(self,event):
self.DrawArea.bind("<Button 1>",self.starttracking)
self.DrawArea.unbind("<Motion>")
def starttracking(self,event):
print event.x,event.y
self.DrawArea.bind("<Motion>",self.updatetracking)
self.DrawArea.bind("<Button 1>",self.finishtracking)
if __name__ == '__main__':
root = Tk()
App = GUI(root)
root.mainloop()
miałem też porblemy z odpinaniem! Powinieneś połączyć zmiany! – timeyyy
@arcra: Uruchamianie Pythona 3.5.2 na Ubuntu 16.10 i wciąż ten sam problem, który rozwiązałeś. Twoje rozwiązanie nadal działa idealnie, ponieważ źródło wciąż nie zostało jeszcze załatane. Podobnie jak w przypadku Arden, sugeruję, abyś go zaproponował, aby uzyskać kredyt i zdecydowanie go zastosować. –