Adding the cursor information bar
The cursor information bar is simply a small label at the bottom-right corner of the Text widget that displays the current position of the cursor, as shown in the following screenshot:

The user can choose to show/hide this info bar from the View
menu (2.11.py
).
Begin by creating a Label widget within the Text widget and pack it in the bottom-right corner, as follows:
cursor_info_bar = Label(content_text, text='Line: 1 | Column: 1') cursor_info_bar.pack(expand=NO, fill=None, side=RIGHT, anchor='se')
In many ways, this is similar to displaying line numbers. Here, too, the positions must be calculated after every keystroke, after events such as cut
, paste
, undo
, redo
, new
, and open
, or activities that lead to a change in cursor positions. Because this too needs to be updated for all the changed content, for every keystroke, we will update on_content_changed
to update this, as follows:
def on_content_changed(event=None): update_line_numbers() update_cursor_info_bar...