If you want to pass a widget to a signal handler, I suggest you pass a widget pointer.
I'm curious why? Other than, I guess, that being more familiar than std::reference_wrapper, but I find the latter increasingly useful to express semantics and avoid the perils of pointers.