Class for replacing the mouse click
-
Thanks for replying my thread Sir.
May be my question was not so clear because my language limitation. I'm sorry for that.I have a pair of coordinate (x,y), after that I used 'setPos' function in QCursor class to move my mouse cursor. It has already done, the cursor moved to the desired (x,y) successfully without touched a "physical mouse".
After pointing this cursor to (x,y) position, I want to give a click action like a mouse do. Would you give some suggestion.Thanks
-romeo -
Just connect the mouse move event (which you have already achieved) to a slot that the user's mouse click would normally trigger. Instead of using clicked() as the signal, you can create a custom signal for the mouse move event. An example of creating custom signals can be found "here":http://doc.trolltech.com/4.5/signalsandslots.html#a-small-example.
-
I think he wants to make the mouse click programmatically, not act on a mouse click event.
I'm not aware of a platform independent way to do this.
If you're restrained to Microsoft® Windows®: I remember using the WinAPI function mouse_event with parameter MOUSEEVENTF_LEFTDOWN/UP, back in my dark, miserable Microsoft® Windows® days. -
-
So when the coordinates are over a different application, how would you reach into that application to trigger that event a mouse click would trigger? I'm afraid it's not quite as easy as you think, thus just making the mouse perform a click and let the operating system and the other application handle the rest will be the easier way.
-
When did he say he is running multiple applications? I assume you mean "coordinates over a different WIDGET" - not application?
According to the question, there is a static pair of coordinates (x, y), and he has a scenario where the user's mouse is forced to move to that (x, y). Now that the mouse is at the (x, y) position, he wants to emulate a mouse click. A mouse click sends a clicked() signal in Qt, so all he would need to do is replace that with a custom signal that gets sent when the mouse reaches that (x, y) location.
-
Thank you for every reply and some discussion about that. Actually I need an emulate of a mouse click because after that I can do emulate drag action too. So after "click" action I can move an object in the coordinate (x,y) to another location (a new x,y location) like a mouse drag action do. I hope i can move a rectangle without using a "physical mouse", but only using my coordinates.
-romeo
-
So you are looking to do animation then - take a look at "Qt's animation framework documentation":http://doc.qt.nokia.com/4.7-snapshot/animation-overview.html.