April 2018
Beginner
340 pages
7h 54m
English
Our LineNumbers class will remain as a disabled Text widget but will no longer just hold 100 numbers all of the time. Instead, it will respond to the size of the TextArea (or any Text widget) it is linked to and update its own content accordingly:
import tkinter as tkclass LineNumbers(tk.Text): def __init__(self, master, text_widget, **kwargs): super().__init__(master, **kwargs) self.text_widget = text_widget self.text_widget.bind('<KeyPress>', self.on_key_press) self.insert(1.0, '1') self.configure(state='disabled')
Since the LineNumbers widget is just a Text widget, it will need a reference to a master object as well as the Text widget it will be paired to. We then capture any keyword arguments and pass them to the ...