With PSTricks.
Intersection

\documentclass[pstricks,border=15pt]{standalone}
\usepackage{pst-eucl}
\psset{CurveType=polyline}
\begin{document}
\begin{pspicture}(-3,-3)(3,3)
\pstGeonode[PosAngle={135,0,180}]{O}(3,0){Q}(-3,0){P}
\pstGeonode[PosAngle={90,-90}](0,3){A}(0,-3){B}
\pnode(-2,0|A){A'}
\pnode(-2,0|B){B'}
\pstInterLC[PosAngleA=90,PosAngleB=-90]{A'}{B'}{O}{A}{Q'}{P'}
\pstCircleOA{O}{A}
\psline(Q')(P')
\end{pspicture}
\end{document}
Warning:
I just knew that
\pstInterLC[PosAngle={90,-90}]{A'}{B'}{O}{A}{Q'}{P'}
will not work!
Inverse Trigonometry
As PostScript only provides sin, cos, and atan, we need to define a new RPN operator acos as
\pstVerb{/acos {dup 2 exp 1 exch sub sqrt exch atan} bind def}
The complete code is as follows.
\documentclass[pstricks,border=15pt]{standalone}
\usepackage{pst-eucl}
\pstVerb{/acos {dup 2 exp 1 exch sub sqrt exch atan} bind def}
\psset{CurveType=polyline}
\begin{document}
\begin{pspicture}(-3,-3)(3,3)
\pstGeonode[PosAngle={135,0,180}]{O}(3,0){Q}(-3,0){P}
\pstGeonode[PosAngle={90,-90}](0,3){A}(0,-3){B}
\pstGeonode[PosAngle={90,-90}]
(!3 -2 3 div acos PtoC){Q'}
(!3 -2 3 div acos neg PtoC){P'}
\pstCircleOA{O}{A}
\end{pspicture}
\end{document}
Clipping
Using clipping (for this problem) should be avoided because it makes us difficult to place the P' and Q' labels (and the dots if needed).
The following example uses node P' and Q' (used in the second method above) to circumvent the difficulty but it will look so funny because of
\pstGeonode[PosAngle={90,-90},CurveType=none]
(!3 -2 3 div acos PtoC){Q'}
(!3 -2 3 div acos neg PtoC){P'
\psclip{\pstCircleOA{O}{A}}
\psline([offset=1]Q')([offset=-1]P')
\endpsclip
which can actually be written as
\pstGeonode[PosAngle={90,-90}]
(!3 -2 3 div acos PtoC){Q'}
(!3 -2 3 div acos neg PtoC){P'}
OK, here is the complete code!
\documentclass[pstricks,border=15pt]{standalone}
\usepackage{pst-eucl}
\pstVerb{/acos {dup 2 exp 1 exch sub sqrt exch atan} bind def}
\psset{CurveType=polyline}
\begin{document}
\begin{pspicture}(-3,-3)(3,3)
\pstGeonode[PosAngle={135,0,180}]{O}(3,0){Q}(-3,0){P}
\pstGeonode[PosAngle={90,-90}](0,3){A}(0,-3){B}
\pstGeonode[PosAngle={90,-90},CurveType=none]
(!3 -2 3 div acos PtoC){Q'}
(!3 -2 3 div acos neg PtoC){P'}
\psclip{\pstCircleOA{O}{A}}
\psline([offset=1]Q')([offset=-1]P')
\endpsclip
%\pstCircleOA{O}{A} <-- not needed!
\end{pspicture}
\end{document}
The latest edit:
Apparently, pstricks.pro has added or defined Acos as follows,
/Acos {dup dup mul neg 1 add dup 0 lt {% arc cos, returns 0 when negative root
pop pop 0 }{ sqrt exch atan} ifelse } def
so more keystrokes can be reduced.
\documentclass[pstricks,border=15pt]{standalone}
\usepackage{pst-eucl}
\psset{CurveType=polyline}
\begin{document}
\begin{pspicture}(-3,-3)(3,3)
\pstGeonode[PosAngle={135,0,180}]{O}(3,0){Q}(-3,0){P}
\pstGeonode[PosAngle={90,-90}](0,3){A}(0,-3){B}
\pstGeonode[PosAngle={90,-90}]
(!3 -2 3 div Acos PtoC){Q'}
(!3 -2 3 div Acos neg PtoC){P'}
\pstCircleOA{O}{A}
\end{pspicture}
\end{document}
`, they'll be marked as code, as can be seen in my edit. You can also highlight the code and click the "code" button (with "{}" on it). – zeroth Mar 20 at 10:16