Qt 模擬鼠標點擊(QApplication::sendEvent(ui->pushbutton, &event0);)


QPoint pos(0,0);
QMouseEvent event0(QEvent::MouseButtonPress, pos, Qt::LeftButton, Qt::LeftButton, Qt::NoModifier);
QApplication::sendEvent(ui->pushbutton, &event0);

QMouseEvent event1(QEvent::MouseButtonRelease, pos, Qt::LeftButton, Qt::LeftButton, Qt::NoModifier);
QApplication::sendEvent(ui->pushbutton, &event1);
1
2
3
4
5
6
sendEvent 是發送事件函數,第一個參數是接收該事件的元對象,第二個參數是要發送的事件;
QMouseEvent用來構造一個模擬的鼠標事件,構造函數中定義了事件的類型為按壓或者是釋放,pos參數是用來指定在接收該事件的元對象的事件發生位置,例子中就是指定了在按鈕的(0,0)位置接收該點擊事件;
QPos定義位置。

對於QLineEdit這種部件,可以通過setFocus()函數先讓部件獲得角點,再把sendEvent()中的接收對象換成QWidget::focusWidget();
---------------------
作者:蝸牛在聽雨
來源:CSDN
原文:https://blog.csdn.net/omg_orange/article/details/75803977
版權聲明:本文為博主原創文章,轉載請附上博文鏈接!

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM