did you call it or did you use a slot?
Connect the signal stateChanged() to a slot, in which you read state().
The you can see exactly the flow of the QHttp objects states.
I don't think abort() initiated a connected() state, it only means the abort() was not yet executed by QHttp, we need to try and find out why.
I guess your QHttp object is very busy, and just needs a lot of time to process its event loop.
It would help if you could show your code, not only where you are aborting, but also where you send packeted to the QHttp object.
Also did you pay attention to this:
This class provides two different interfaces: one is the QNetworkProtocol interface that allows you to use HTTP through the QUrlOperator abstraction. The other is a direct interface to HTTP that allows you to have more control over the requests and that allows you to access the response header fields.

Don't mix the two interfaces, since the behavior is not well-defined.