I am inheriting a Tkinter Text widget to provide some customization.
class CustomText(Text):
def __init__(self, *args, **kwargs):
Text.__init__(self, *args, **kwargs)
self.bind("<Control-v>", lambda event: self.paste())
def paste(self):
self.see('insert')
return "break"
I want to override the <Control-v> (Paste) event handler and extended the basic operation with my own implementation.
Inheriting and creating my own callback to <Control-v> event was straightforward, but I didn't manage to execute the base callback.
I tried
def paste(self): # -1-
super().event_generate('<Control-v')
self.see('insert')
return "break"
def paste(self): # -2-
super.event_generate('<Control-v')
self.see('insert')
return "break"
def paste(self): # -3-
self.see('insert')
In -1- I've tried to use super() to invoke the base class method - didn't work
In -2- I've tried to use super to invoke the base class method - didn't work
In -3- I've tried to let tkinter run the base class, didn't work - as based on bindtags, my code will run first, then Text method will run (thus not giving my intention)
How can I invoke the base class method (override and extend the <Control-v> behavior)?