The problem is not with designer, but with you misunderstanding how things work.
I could not add any functions to that class because its definition was a part of compiler-generated header!
You are not supposed to!
At least, not in the generated header - for the very reason, that it is auto generated, and should you change something in the ui file, any chanes you made in the generated header will be lost.
The correct way to use the generated class is through inheritance.
It took me a while before I realized that this is pure coincidence and these are two different classes.
There are no coincidences here - and these are not two different classes - but pointers to objects!
The name you put in the "objectName" field is the name the VARIABLE of the class will have, and that is also what connect is using.

Be sure to read and understand this here (it might save you some confusion and time in the future )
http://doc.trolltech.com/4.7/designer-manual.html
and specifically this:
http://doc.trolltech.com/4.7/designe...tion-mode.html
and this, for using your designer forms in your application (adding slots etc):
http://doc.trolltech.com/4.7/designe...a-ui-file.html