The trouble is, I am the person to ask - for some things. If she cannot lift something because it is too heavy, she is expected to ask the nearest person to help her. That's me, most of the time. If she cannot get the computer to work, I know how to do that and I'm right next to her.
But there is a big difference between not being able to lift something and calling me over, and refusing to lift it or refusing to call the guys in the back to help (the door to the back is the same distance from her as I am, and they have power equipment to lift stuff, dagnabbit!).
And of course, I'm not the go-to person for "why is the sky blue?" either. I'm looking for phrases other than my mental reaction of "Why the <bleepity bleep> are you asking me?!?"
I think your last response could actually be appropriate--modified to be polite, of course!
So if she has a "why is the sky blue?" type of question, you could look at her silently for a moment, then say, "Why are you asking me that?" Then she'll say something, and you can respond with something like, "As you know, that's not my department. Ask your supervisor," or "Oh, it's just a social question. Sorry, I don't have time to chat right now." And in both cases swivel back to your work.
Possibly, you could also try something like, "I don't have time to answer right now, but email me your question." If she decides it's not worth emailing, so much the better. If she does email it, you'll start accumulating a record of all the questions she asks you, that she should already know how to do. You can get around to answering the email whenever you have time, copying your supervisor if appropriate, and feel free to say, "You should already know how to do that. Look it up in the manual," over and over.
If it's something where, if left to her own devices, she might do something dangerous or cause a safety violation, you might have to step in for the greater good. However, I would consider that situation serious enough to go to my supervisor about. "Susan refused to follow the proper protocol to do X, despite having training and being reminded of it several times. I had to step in to avoid a safety violation occurring."
I will throw in the story about my former co-worker Emma for good measure. She was in way over her head at work and our boss said I should help her out. There were a lot of basic things she didn't know, got wrong, couldn't figure out, didn't want to try--everything from fundamentals about why we do what we do, to how to do things in Microsoft Office programs. It was taking up a lot of my time and more importantly a lot of my head space.
What I decided to do was set limits. For example, I said that I was busy in the afternoons and could only help her in the mornings, so if she had questions she should ask me before 10am and I would be happy to help her then. Never happened, because she couldn't get herself organized enough by 10am to get her big questions in.
For minor questions I would only answer/help if I could do so in less than 5 minutes, and preferably without getting out of my chair. "How do I underline something in Word?" I could tell her that right away, from my desk. "How do I fixed my messed-up formatting?" "You know, I'm not sure. Maybe you should ask the IT guys." Or, if I did go over to look, once the five minutes was up I would say, "Sorry, I don't really know what else to do," even if I did, and go back to my desk. It was all a lot less stress and time commitment for me, yet I hadn't ever said, "No, I'm not going to help you." I could say, "Of course, I'm happy to help you! In the morning, before 10am," or "Sure, ask away!... Oh sorry, I don't know."
In Emma's case she wasn't looking for attention, exactly, she really needed to know the answers, so eventually she stopped asking me things and found other resources.