Not all widgets are exposed by default, text block is not:
Once it is, you can:
Is something like this even possible without having dedicated people working on custom C++ UI solutions or something? How do others do it? I can’t find resources.
Yes, it’s a standard way of doing things, the only reasonable way of creating a performing UI. Look into event dispatchers, as mentioned above.