For Qt, by habit from the Qt3 times and to save time by avoiding "make install" after a change, I recommend using one directory for source, builds and install. This is done by configuring Qt with --prefix=$PWD. This isn't mandatory though.

It was convenient in kde3, it is mandatory in kde4: you need to use out-of-source builds, i.e. separate build and source directories.
It makes it very easy to rebuild from scratch, removing all generated files - even old ones that "make clean" wouldn't remove. It is easier to look at the source files (grep, ls etc.). It allows multiple build trees with different settings, e.g. debug and release.

Source: ~/kde/src/[version]

Build: ~/kde/build/[version]

Thus source modules for kde4 are checked out in ~/kde/src/4/ and building happens in ~/kde/build/4/.

To easily swap from build and source folder back and forth, you can use cs and cb functions that work like the following:

pwd
~/kde/src/4/kdebase
cb &&pwd
~/kde/build/4/kdebase
# note that this folder is created if it does not exist
cs &&pwd
~/kde/src/4/kdebase

A number of kde-related scripts will have to be able to do the same. Simply do:
export OBJ_REPLACEMENT='s#/kde/src/#/kde/build/#'
This allows the makeobj script from kdesdk to switch from src to build.
If you also do:
alias make=makeobj
then you can simply type make from the source dir and it will be able to build. This is also very useful in editors - if your vi or emacs uses makeobj as the make command, you can compile with a single key press.

In addition, for fast navigation to other directories, it is very convenient to be able to type "cs 4/kdelibs" in order to go to ~/src/4/kdelibs, from anywhere.
For instance, you could be in ~/kde/src/4/kdebase/workspace/kcontrol and now you decide to look at kdecore... No need to type a long series of "../.." or to restart from the top. You can just type cs 4/kdelibs/kdecore.

This is doable via the two functions cs and cb defined in the .bashrc.