滑鼠移動事件&鍵盤按下事件

來源:互聯網
上載者:User

 

/*以下是滑鼠移動事件*/

void MainWindow::mouseMoveEvent(QMouseEvent *m)

{//這裡的函數名和參數不能更改

QCursor my(QPixmap("E:/Qt/Qt-Creator-Example/event/time.png"));

//為滑鼠指標選擇圖片,注意這裡要用絕對路徑,且要用“/”,而不能用“/”

QApplication::setOverrideCursor(my);

//將滑鼠指標更改為自己設定的圖片

int x = m->pos().x();

int y = m->pos().y();

//擷取滑鼠現在的位置座標

ui->pushButton->setText(tr("滑鼠現在的座標是(%1,%2), 哈哈好玩吧").arg(x).arg(y));

//將滑鼠的位置座標顯示在按鈕上

ui->pushButton->move(m->pos());

//讓按鈕跟隨滑鼠移動

}

/*以下是鍵盤按下事件*/

void MainWindow::keyPressEvent(QKeyEvent *k)

{

if(k->key() == Qt::Key_A) //判斷是否是A鍵按下

{

ui->label->setPixmap(QPixmap("E:/Qt/Qt-Creator-Example/event/linux.jpg"));

ui->label->resize(100,100);

//更改標籤圖片和大小

}

}

注意:這兩個函數不是自己建立的,而是對已有函數的重定義,所有函數名和參數都不能改。第一個函數對滑鼠移動事件進行了重寫。其中實現了滑鼠指標的更改,和按鈕跟隨滑鼠移動的功能。

第二個函數對鍵盤的A鍵按下實現了新的功能。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.