I actually sort of liked the .ui.h files. They allowed you to seperate GUI behaviour (slots that strictly relate to the GUI but aren't already there) from the real purpose of the widget/dialog. Of course, that's still possible, but it would mean subclassing twice. And the .ui file should contain that behaviour.