Prove that $\mathbb{Q}$ is not projective using the Hom functor

This is continuing from Lord Shark's answer. You might not be satisfied with this proof because you have to choose... Nonetheless...,

Proof: Choose a generating set $S$ for $\mathbb Q$ as a $\mathbb Z$-module (for example $S = \mathbb Q$ works, but there are (I think) smaller sets you can choose). Take $A$ to be the free abelian group with $\mathbb Z$-basis $S$, so $A \cong \bigoplus_{s \in S} \mathbb Z$, and take $B = \mathbb Q$; since $S$ generates $\mathbb Q$, there is an surjective $\mathbb Z$-module homomorphism $A \to \mathbb Q$. Now $$Hom(\mathbb Q, A) \cong Hom(\mathbb Q, \bigoplus_{s\in S}\mathbb Z) \cong \bigoplus_{s \in S}Hom(\mathbb Q, \mathbb Z) = \bigoplus_{s \in S} 0 = 0$$ where the second isomorphism is from a basic fact that $Hom(-, -)$ commutes with direct sums in the second slot; and the second to last equality is by the fact OP stated.

On the other hand $Hom(\mathbb Q, \mathbb Q) \neq 0$ since it contains the identity map for example. $\square$