MOuse Click event in Window/desktop by susing QT
-
wrote on 2 Apr 2013, 06:22 last edited by
Mouse button clicki am trying to create an automatic mouse click event at a particular co ordinate.
This source code moves the mouse pointer to the co ordinate region but it is not clicking.
please help me to solve this problem or suggest any new idea to automate mouse click event.
I am seek of this.....???
Note: i am using QT 3.0.3
void mMouseClickFunction()
{QWidget *d = QApplication::desktop()->screen();
int w=d->width(); // returns desktop width
int h=d->height();
printf("w=%d\nh=%d\n",w,h);
int x,y;
printf("Enter the points...\n");
scanf("%d%d",&x,&y);
QApplication::desktop()->cursor().setPos(x,y);
QPoint pt(x,y);
std::cout << pt.x() << " " << pt.y() << std::endl;
QMouseEvent *e = new QMouseEvent(QEvent::MouseButtonPress, pt,Qt::LeftButton, 0);
QApplication::sendEvent(d, e);
std::cout << "in contentsMousePressEvent" \
<< e->x() << " " << e->y() << std::endl;
QMouseEvent *p = new QMouseEvent(QEvent::MouseButtonRelease, pt,Qt::LeftButton, 0);
QApplication::sendEvent(d, p);
std::cout << "in contentsMouseReleaseEvent" \
<< p->x() << " " << p->y() << std::endl;}
-
wrote on 3 Apr 2013, 11:38 last edited by
What does QMouseEvent::globalPos() gives back?
Check the doc: http://doc.qt.digia.com/3.3/qmouseevent.html#globalPos
Maybe this will help you.
-
wrote on 10 Apr 2013, 04:42 last edited by
Please help me to solve the problem or suggestions may appreciated
-
wrote on 10 Apr 2013, 04:50 last edited by
juergen_M@ QMouseEvent::globalPos() gives correct mouse event position whatever i am giving through scanf(ā%d%dā,&x,&y); in the above code.
But it is not simulating mouse click event on the position.......????
-
wrote on 10 Apr 2013, 08:38 last edited by
Your goal is to write a click simulation software.
A normal click under linux/X11 would be Mouse->XInput->QEvent
What you would like to do is QEvent->XInputHere is a possible google solution:
http://stackoverflow.com/questions/10081588/qt-monitor-global-cursor-click-event-with-x11 -
wrote on 10 Apr 2013, 10:04 last edited by
juergen_M@
i already implemented what u suggested for x11 its working fine.....but i am using is cross compiler xscale_le-g++ ....i need the same x11 implemetation for cross compiler??? is it possible??? -
wrote on 10 Apr 2013, 10:49 last edited by
In general yes. So you are using X11 on your xscale target. If this is the case your PC code should work on the target as well
-
wrote on 10 Apr 2013, 14:34 last edited by
So Mouse click event is not posible in QT?
-
wrote on 10 Apr 2013, 14:41 last edited by
No it is possible. You have to map QMouseEvent to XInputEvent.
-
wrote on 10 Apr 2013, 14:50 last edited by
canu pls able to add a related line to resolve the problem with my above mentioned code????
5/10