@Noobish
For code completion the .ui must be processed by uic to produce the ui_....h file as C++ code. This should happen as part of build, every time you update the .ui or force clean rebuild. There are many little things you can investigate:
For qmake the .h file is generated into the build output directory (where object and executable files are). I do not know for cmake, where you say you found it may be reasonable.
Make sure there are no other instances of that file elsewhere which could be picked up.
Update the .ui, do a build, verify the timestamp on the .h has been updated.
Read the .h into Creator and have a look through it. It's just C++ code. Verify you can see the lines generated for the components you add.
Forget about code completion for a moment. Type in what (you believe) is right to access some new ui-> element in your code. Do an actual compile/build. If that errors on your new component you are doing something wrong; if that succeeds but the code completion does not you have some problem in the latter area.
Do a complete delete and rebuild.
Create a brand new, standalone project elsewhere and see how you get on with creating new components.