Qt 跟蹤滑鼠事件:setMouseTracking(true)
阿新 • • 發佈:2020-08-18
mouseTracking:bool
Qt Assistant 解釋:
該屬性用來設定某個控制元件是否被跟蹤軌跡。
If mouse tracking is disabled (the default), the widget only receives mouse move events when at least one mouse button is pressed while the mouse is being moved.
如果該屬性設定fasle,這個控制元件就算正在移動,也僅僅只有滑鼠pressed按下之後,才會接受滑鼠移動事件。
If mouse tracking is enabled, the widget receives mouse move events even if no buttons are pressed.
如果該屬性是true,就算該按鈕不被按下,它也會一直接受滑鼠移動的事件。
所以想要實現mouseMoveEvent,若是setMouseTrack(true),直接可以得到監聽事件。若是setMouseTrack(false),只有滑鼠按下才會有mouseMove監聽事件響應。
1 ....
2
3 test.widget.setMouseTrack(true);
4
5 ....
6
7 /**
8
9 * @brief 滑鼠滑動事件
10
11 */
12
13 void TestWidget::mouseMoveEvent(QMouseEvent* event )
14
15 {
16
17 QPoint m = event->globalPos();
18
19 ui.lblMouseEventGlobalPos->setText(QString("(%1,%2)").arg(m.x()).arg(m.y()));
20
21 QPoint n = QCursor::pos();
22
23 ui.lblCursorPos->setText(QString("(%1,%2)").arg(m.x()).arg(m.y()));
24
25
26
27 }