There's nothing built-in per se, but what you want to do is possible if you're willing to be creative.
At it's core a text widget is a tcl command, and this command is called whenever something happens to the text widget: text is inserted, deleted, the cursor changes, etc. The nature of tcl is that we can replace this command with our own command. And since we can do that, we can detect certain changes, and call our own function before or after.
It sounds complicated, and it is. On a positive note, it's foolproof once you have it working, and it means you don't have to do any custom bindings. To see a complete working example, see this answer to the question binding to cursor movement doesnt change INSERT mark.
The scrolled text widget is just a thin wrapper around a regular text widget, so this answer will work with just a tiny bit of tweaking (you'll need the reference to the text widget used by the scrolledtext widget). The wrapper is so thin, however, that I recommend not using it since adding scrollbars to a text widget is trivial.