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)?