Returning values from signals is considered bad design, as there might be more than 1 slot connected to it. In general signals should just emit that some state has changed and know nothing about who's connected to it.
Needing a return value is a design smell that you probably should be using a direct call instead.