The QMouseEvent 類包含鼠標事件的描述參數。 更多...
| 頭: | #include <QMouseEvent> |
| qmake: | QT += gui |
| 繼承: | QInputEvent |
| QMouseEvent (Type type , const QPointF & localPos , Qt::MouseButton button , Qt::MouseButtons buttons , Qt::KeyboardModifiers modifiers ) | |
| QMouseEvent (Type type , const QPointF & localPos , const QPointF & screenPos , Qt::MouseButton button , Qt::MouseButtons buttons , Qt::KeyboardModifiers modifiers ) | |
| QMouseEvent (Type type , const QPointF & localPos , const QPointF & windowPos , const QPointF & screenPos , Qt::MouseButton button , Qt::MouseButtons buttons , Qt::KeyboardModifiers modifiers ) | |
| QMouseEvent (Type type , const QPointF & localPos , const QPointF & windowPos , const QPointF & screenPos , Qt::MouseButton button , Qt::MouseButtons buttons , Qt::KeyboardModifiers modifiers , Qt::MouseEventSource source ) | |
| Qt::MouseButton | button () const |
| Qt::MouseButtons | buttons () const |
| Qt::MouseEventFlags | flags () const |
| QPoint | globalPos () const |
| int | globalX () const |
| int | globalY () const |
| const QPointF & | localPos () const |
| QPoint | pos () const |
| const QPointF & | screenPos () const |
| Qt::MouseEventSource | source () const |
| const QPointF & | windowPos () const |
| int | x () const |
| int | y () const |
The QMouseEvent 類包含鼠標事件的描述參數。
齣現鼠標事件,當在 Widget 內按下 (或釋放) 鼠標按鈕 (或移動鼠標光標) 時。
纔發生鼠標移動事件,當按下鼠標按鈕時,除非有啓用鼠標追蹤采用 QWidget::setMouseTracking ().
Qt 自動抓取鼠標當在 Widget 內按下鼠標按鈕時;Widget 將繼續接收鼠標事件,直到最後釋放鼠標按鈕。
鼠標事件包含特殊接受標誌 (指示接收者是否想要事件)。應該調用 ignore () 若 Widget 不處理鼠標事件。鼠標事件會沿父級 Widget 鏈嚮上傳播,直到小部件接受它采用 accept (),或由事件過濾器消耗掉它。
注意: 若鼠標事件被傳播給 widget 其中 Qt::WA_NoMousePropagation 有設置,該鼠標事件將不會沿父級 Widget 鏈嚮上進一步傳播。
可以找到鍵盤修飾符鍵的狀態通過調用 modifiers() 函數,繼承自 QInputEvent .
函數 pos (), x (),和 y () 給齣相對於接收鼠標事件的 Widget 的光標位置。若因鼠標事件導緻 Widget 移動,使用全局位置返迴通過 globalPos () 以避免晃動。
The QWidget::setEnabled () 函數可用於啓用 (或禁用) 小部件的鼠標事件和鍵盤事件。
重實現 QWidget 事件處理程序, QWidget::mousePressEvent (), QWidget::mouseReleaseEvent (), QWidget::mouseDoubleClickEvent (),和 QWidget::mouseMoveEvent () 以在自己的 Widget 中接收鼠標事件。
另請參閱 QWidget::setMouseTracking (), QWidget::grabMouse (),和 QCursor::pos ().
構造鼠標事件對象。
The type 參數必須是某一 QEvent::MouseButtonPress , QEvent::MouseButtonRelease , QEvent::MouseButtonDblClick ,或 QEvent::MouseMove .
The localPos 是鼠標光標相對於接收 Widget 或項的位置。窗口位置會被設為相同值如 localPos 。 button 導緻給定值事件來自 Qt::MouseButton 枚舉。若事件 type is MouseMove ,此事件的相應按鈕為 Qt::NoButton 。事件發生時的鼠標和鍵盤狀態的指定是通過 buttons and modifiers .
The screenPos () 被初始化為 QCursor::pos (),可能不閤適。使用其它構造函數以明確指定全局位置。
構造鼠標事件對象。
The type 參數必須是 QEvent::MouseButtonPress , QEvent::MouseButtonRelease , QEvent::MouseButtonDblClick ,或 QEvent::MouseMove .
The localPos 是鼠標光標相對於接收 Widget 或項的位置。按屏幕坐標的光標位置的指定由 screenPos 。窗口位置會被設為相同值如 localPos 。 button 導緻給定值事件來自 Qt::MouseButton 枚舉。若事件 type is MouseMove ,此事件的相應按鈕為 Qt::NoButton . buttons 是事件發生時所有按鈕的狀態, modifiers 是所有鍵盤修飾符的狀態。
構造鼠標事件對象。
The type 參數必須是 QEvent::MouseButtonPress , QEvent::MouseButtonRelease , QEvent::MouseButtonDblClick ,或 QEvent::MouseMove .
點 localPos , windowPos and screenPos 分彆指定相對於接收 Widget 或項、窗口及屏幕的鼠標光標位置。
The button 導緻給定值事件來自 Qt::MouseButton 枚舉。若事件 type is MouseMove ,此事件的相應按鈕為 Qt::NoButton . buttons 是事件發生時所有按鈕的狀態, modifiers 是所有鍵盤修飾符的狀態。
默認構造 QMouseEvent 實例。
返迴導緻事件的按鈕。
注意:返迴值始終是 Qt::NoButton 對於鼠標移動事件而言。
另請參閱 buttons () 和 Qt::MouseButton .
返迴事件生成時的按鈕狀態。按鈕狀態是組閤 Qt::LeftButton , Qt::RightButton , Qt::MidButton 使用 OR 運算符。對於鼠標移動事件,這是被按下的所有按鈕。對於鼠標按下和雙擊事件,這包括導緻事件的按鈕。對於鼠標釋放事件,這排除導緻事件的按鈕。
另請參閱 button () 和 Qt::MouseButton .
返迴鼠標事件標誌。
鼠標事件標誌提供有關鼠標事件的額外信息。
該函數在 Qt 5.3 引入。
另請參閱 Qt::MouseEventFlag and QGraphicsSceneMouseEvent::flags ().
返迴鼠標光標的全局位置 當事件發生時 。這對異步窗口係統 (像 X11) 很重要。每當圍繞響應鼠標事件移動 Widget 時,globalPos() 會非常不同於當前指針位置 QCursor::pos (),和來自 QWidget::mapToGlobal ( pos ()).
返迴事件發生時的鼠標光標全局 X 位置。
另請參閱 globalY () 和 globalPos ().
返迴事件發生時的鼠標光標全局 Y 位置。
另請參閱 globalX () 和 globalPos ().
將鼠標光標位置返迴作為 QPointF ,相對於接收事件的 Widget 或項。
若因鼠標事件導緻 Widget 移動,使用屏幕位置返迴通過 screenPos () 以避免晃動。
該函數在 Qt 5.0 引入。
另請參閱 x (), y (), windowPos (),和 screenPos ().
返迴鼠標光標的位置,相對於接收事件的 Widget。
若因鼠標事件導緻 Widget 移動,使用全局位置返迴通過 globalPos () 以避免晃動。
另請參閱 x (), y (),和 globalPos ().
將鼠標光標位置返迴作為 QPointF ,相對於接收事件的屏幕。
該函數在 Qt 5.0 引入。
另請參閱 x (), y (), pos (), localPos (),和 windowPos ().
返迴鼠標事件來源的有關信息。
鼠標事件來源可以用於區分真正和和人造的鼠標事件。後者是由操作係統或 Qt 自身從觸摸事件閤成的事件。
注意: 很多平颱不提供這種信息。在這種平颱 Qt::MouseEventNotSynthesized 始終被返迴。
該函數在 Qt 5.3 引入。
另請參閱 Qt::MouseEventSource and QGraphicsSceneMouseEvent::source ().
將鼠標光標位置返迴作為 QPointF ,相對接收事件的窗口。
若因鼠標事件導緻 Widget 移動,使用全局位置返迴通過 globalPos () 以避免晃動。
該函數在 Qt 5.0 引入。
另請參閱 x (), y (), pos (), localPos (),和 screenPos ().
返迴相對於接收事件 Widget 的鼠標光標 X 位置。
返迴相對於接收事件 Widget 的鼠標光標 Y 位置。