TODO is
Q.setPriority(u) = weight(u, v);
besides, your queue don't work well. The priority of a node except s should be initialize as ∞.
as psuedocode, I rewrited it below:
MST-PRIM(G,w,s)
for each u in G.V
u.priority = ∞
u.p = NULL //u's parent in MST
s.key = 0
Q = G.V // Q is a priority queue
while(Q!=∅)
u = EXTRACT-MIN(Q)
for each v in u's adjacent vertex
if v∈Q and w(u,v) < v.priority
v.p = u
v.priority = w(u,v)
You can find its prototype in chapter23.2 of Introduce to Algorithm.