How passing widget UI to other class differ from accessing UI elements from i.e. MainWindow class? IMHO it's not separating interface but simply putting code in diff. place.

If You want to use UI widgets in/from different class, then I would create separate class with getter/setter approach. Then I would connect appropriate signals from UI to my separate class and pass only information that needs to be passed.