溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

QT學習小結之鼠標事件

發布時間:2020-07-03 15:50:26 來源:網絡 閱讀:869 作者:zgz_ 欄目:編程語言


qt鼠標事件所包含的頭文件<QMouseEvent>,QMouseEvent中包含了兩個坐標,一是全局坐標(globalPos()),即桌面坐標,這個跟Windows下的調用的getCursorPos函數得到的結果一致。


鼠標事件常見的有mousePressEvent(),mouseReleaseEvent(),mouseDoubleClickEvent(),mouseMoveEvent(),下面我就貼上幾段代碼吧


void Event_test::mouseMoveEvent(QMouseEvent *event)     //鼠標拖動事件
{
    QPoint point;
    point = QCursor::pos();
    qDebug()<<"point"<<point.x()<<"    "<<point.y();
    qDebug()<<"move :"<<"  "<<event->pos().x()<<"  "<<event->pos().y();
}


void Event_test::mousePressEvent(QMouseEvent *event)   //鼠標按下事件
{
    QString str="("+QString::number(event->x())+","+QString::number(event->y())+")";
    if(event->button()==Qt::LeftButton)
    {
        statusBar()->showMessage (tr("Mouse Left Button Pressed:")+str);//在狀態欄中顯示臨時信息
    }
    else if(event->button()==Qt::RightButton)
    {
        statusBar()->showMessage (tr("Mouse Right Button Pressed:")+str);
    }
    else if(event->button()==Qt::MidButton)
    {
         statusBar()->showMessage (tr("Mouse Middle Button Pressed:")+str);
    }
    qDebug()<<"Press "<<"   "<<event->pos().x()<<"   "<<event->pos().y();
}


void Event_test::mouseReleaseEvent(QMouseEvent *event)      //鼠標釋放事件
{
   QString str="("+QString::number(event->x())+","+QString::number(event->y())+")";
   
   statusBar()->showMessage (tr("Mouser Released:")+str,3000);
    qDebug()<<"release "<<"    "<<event->pos().x()<<"    "<<event->pos().y();
}


void Event_test::mouseDoubleClickEvent(QMouseEvent *event)    //鼠標雙擊事件
{
    QString str="("+QString::number(event->x())+","+QString::number(event->y())+")";
    if(event->button()==Qt::LeftButton)
    {
          statusBar()->showMessage (tr("Mouse Left Button Double Clicked:")+str);
    }
     else if(event->button()==Qt::RightButton)
    {
          statusBar()->showMessage (tr("Mouse Right Button Double Clicked:")+str);
    }
    else if(event->button()==Qt::MidButton)
    {
          statusBar()->showMessage (tr("Mouse Middle Button Double Clicked:")+str);
    }
}


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女