QMouseEvent 類

The QMouseEvent 類包含鼠標事件的描述參數。 更多...

頭: #include <QMouseEvent>
qmake: QT += gui
繼承: QInputEvent

公共函數

QMouseEvent (QEvent::Type type , const QPointF & localPos , Qt::MouseButton button , Qt::MouseButtons buttons , Qt::KeyboardModifiers modifiers )
QMouseEvent (QEvent::Type type , const QPointF & localPos , const QPointF & screenPos , Qt::MouseButton button , Qt::MouseButtons buttons , Qt::KeyboardModifiers modifiers )
QMouseEvent (QEvent::Type type , const QPointF & localPos , const QPointF & windowPos , const QPointF & screenPos , Qt::MouseButton button , Qt::MouseButtons buttons , Qt::KeyboardModifiers modifiers )
QMouseEvent (QEvent::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

保護變量

Qt::MouseButton b
int caps
QPointF l
Qt::MouseButtons mouseState
QPointF s
QVector2D velocity
QPointF w

額外繼承成員

詳細描述

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 ().

成員函數文檔編製

QMouseEvent:: QMouseEvent ( QEvent::Type type , const QPointF & localPos , Qt::MouseButton button , Qt::MouseButtons buttons , Qt::KeyboardModifiers modifiers )

構造鼠標事件對象。

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 (),可能不閤適。使用其它構造函數以明確指定全局位置。

QMouseEvent:: QMouseEvent ( QEvent::Type type , const QPointF & localPos , const QPointF & screenPos , Qt::MouseButton button , Qt::MouseButtons buttons , Qt::KeyboardModifiers modifiers )

構造鼠標事件對象。

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 是所有鍵盤修飾符的狀態。

QMouseEvent:: QMouseEvent ( QEvent::Type type , const QPointF & localPos , const QPointF & windowPos , const QPointF & screenPos , Qt::MouseButton button , Qt::MouseButtons buttons , Qt::KeyboardModifiers 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:: QMouseEvent ( QEvent::Type type , const QPointF & localPos , const QPointF & windowPos , const QPointF & screenPos , Qt::MouseButton button , Qt::MouseButtons buttons , Qt::KeyboardModifiers modifiers , Qt::MouseEventSource source )

構造鼠標事件對象。

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 是所有鍵盤修飾符的狀態。

The source of the event is specified by source .

該函數在 Qt 5.6 引入。

Qt::MouseButton QMouseEvent:: button () const

返迴導緻事件的按鈕。

注意:返迴值始終是 Qt::NoButton 對於鼠標移動事件而言。

另請參閱 buttons () 和 Qt::MouseButton .

Qt::MouseButtons QMouseEvent:: buttons () const

返迴事件生成時的按鈕狀態。按鈕狀態是組閤 Qt::LeftButton , Qt::RightButton , Qt::MidButton 使用 OR 運算符。對於鼠標移動事件,這是被按下的所有按鈕。對於鼠標按下和雙擊事件,這包括導緻事件的按鈕。對於鼠標釋放事件,這排除導緻事件的按鈕。

另請參閱 button () 和 Qt::MouseButton .

Qt::MouseEventFlags QMouseEvent:: flags () const

返迴鼠標事件標誌。

鼠標事件標誌提供有關鼠標事件的額外信息。

該函數在 Qt 5.3 引入。

另請參閱 Qt::MouseEventFlag and QGraphicsSceneMouseEvent::flags ().

QPoint QMouseEvent:: globalPos () const

返迴鼠標光標的全局位置 當事件發生時 。這對異步窗口係統 (像 X11) 很重要。每當圍繞響應鼠標事件移動 Widget 時,globalPos() 會非常不同於當前指針位置 QCursor::pos (),和來自 QWidget::mapToGlobal ( pos ()).

另請參閱 globalX () 和 globalY ().

int QMouseEvent:: globalX () const

返迴事件發生時的鼠標光標全局 X 位置。

另請參閱 globalY () 和 globalPos ().

int QMouseEvent:: globalY () const

返迴事件發生時的鼠標光標全局 Y 位置。

另請參閱 globalX () 和 globalPos ().

const QPointF &QMouseEvent:: localPos () const

將鼠標光標位置返迴作為 QPointF ,相對於接收事件的 Widget 或項。

若因鼠標事件導緻 Widget 移動,使用屏幕位置返迴通過 screenPos () 以避免晃動。

該函數在 Qt 5.0 引入。

另請參閱 x (), y (), windowPos (),和 screenPos ().

QPoint QMouseEvent:: pos () const

返迴鼠標光標的位置,相對於接收事件的 Widget。

若因鼠標事件導緻 Widget 移動,使用全局位置返迴通過 globalPos () 以避免晃動。

另請參閱 x (), y (),和 globalPos ().

const QPointF &QMouseEvent:: screenPos () const

將鼠標光標位置返迴作為 QPointF ,相對於接收事件的屏幕。

該函數在 Qt 5.0 引入。

另請參閱 x (), y (), pos (), localPos (),和 windowPos ().

Qt::MouseEventSource QMouseEvent:: source () const

返迴鼠標事件來源的有關信息。

鼠標事件來源可以用於區分真正和和人造的鼠標事件。後者是由操作係統或 Qt 自身從觸摸事件閤成的事件。

注意: 很多平颱不提供這種信息。在這種平颱 Qt::MouseEventNotSynthesized 始終被返迴。

該函數在 Qt 5.3 引入。

另請參閱 Qt::MouseEventSource and QGraphicsSceneMouseEvent::source ().

const QPointF &QMouseEvent:: windowPos () const

將鼠標光標位置返迴作為 QPointF ,相對接收事件的窗口。

若因鼠標事件導緻 Widget 移動,使用全局位置返迴通過 globalPos () 以避免晃動。

該函數在 Qt 5.0 引入。

另請參閱 x (), y (), pos (), localPos (),和 screenPos ().

int QMouseEvent:: x () const

返迴相對於接收事件 Widget 的鼠標光標 X 位置。

另請參閱 y () 和 pos ().

int QMouseEvent:: y () const

返迴相對於接收事件 Widget 的鼠標光標 Y 位置。

另請參閱 x () 和 pos ().