A "Qt for S60" application is a Symbian application, it has to obey the Platform Security rules. That said, you will have to invest some time reading the relevant documentation, to learn about capabilities and data caging.
To access the network you need NetworkServices, to access user's data (e.g. Contacts) you will need ReadUserData while if you want to modify that data you need WriteUserData. Got the idea?
You should start by declaring capability None and only add capabilities when you know that they are indeed needed.
Run the application in the emulator then have a look at the content of %temp%\epocwind.out, Platform Security logging info is prefixed by "*PlatSec*"
You can filter it out by
With the default emulator configuration what you will see there as warnings will turn into errors (KErrPermissionDenied) when the app is run on the phone.
c:\> find "*PlatSec*" %temp%\epocwind.out
Now, about the installation error, depending on the capabilities set used you will have to chose corresponding signing options, not all capabilities are available to self-signed applications. See the docs and Platform Security and Symbian Signed. In your particular case Location, at least, doesn't seem to be needed and it is also one of the capabilities that a self-signed application cannot use.