The QMouseEvent 類包含鼠標事件的描述參數。 更多...
| 頭: | #include <QMouseEvent> |
| 繼承: | QInputEvent |
| QMouseEvent (Type type , const QPoint & position , Qt::MouseButton button , Qt::MouseButtons buttons , Qt::KeyboardModifiers modifiers ) | |
| QMouseEvent (Type type , const QPoint & pos , const QPoint & globalPos , Qt::MouseButton button , Qt::MouseButtons buttons , Qt::KeyboardModifiers modifiers ) | |
| Qt::MouseButton | button () const |
| Qt::MouseButtons | buttons () const |
| const QPoint & | globalPos () const |
| int | globalX () const |
| int | globalY () const |
| const QPoint & | pos () const |
| QPointF | posF () 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 position is the mouse cursor's position relative to the receiving widget. The button 導緻給定值事件來自 Qt::MouseButton 枚舉。若事件 type is MouseMove ,此事件的相應按鈕為 Qt::NoButton 。事件發生時的鼠標和鍵盤狀態的指定是通過 buttons and modifiers .
The globalPos () 被初始化為 QCursor::pos (),可能不閤適。使用其它構造函數以明確指定全局位置。
構造鼠標事件對象。
The type 參數必須是 QEvent::MouseButtonPress , QEvent::MouseButtonRelease , QEvent::MouseButtonDblClick ,或 QEvent::MouseMove .
The pos is the mouse cursor's position relative to the receiving widget. The cursor's position in global coordinates is specified by globalPos 。 button 導緻給定值事件來自 Qt::MouseButton 枚舉。若事件 type is MouseMove ,此事件的相應按鈕為 Qt::NoButton . buttons 是事件發生時所有按鈕的狀態, modifiers 是所有鍵盤修飾符的狀態。
返迴導緻事件的按鈕。
注意:返迴值始終是 Qt::NoButton 對於鼠標移動事件而言。
另請參閱 buttons () 和 Qt::MouseButton .
返迴事件生成時的按鈕狀態。按鈕狀態是組閤 Qt::LeftButton , Qt::RightButton , Qt::MidButton 使用 OR 運算符。對於鼠標移動事件,這是被按下的所有按鈕。對於鼠標按下和雙擊事件,這包括導緻事件的按鈕。對於鼠標釋放事件,這排除導緻事件的按鈕。
另請參閱 button () 和 Qt::MouseButton .
返迴鼠標光標的全局位置 當事件發生時 。這對異步窗口係統 (像 X11) 很重要。每當圍繞響應鼠標事件移動 Widget 時,globalPos() 會非常不同於當前指針位置 QCursor::pos (),和來自 QWidget::mapToGlobal ( pos ()).
返迴事件發生時的鼠標光標全局 X 位置。
另請參閱 globalY () 和 globalPos ().
返迴事件發生時的鼠標光標全局 Y 位置。
另請參閱 globalX () 和 globalPos ().
返迴鼠標光標的位置,相對於接收事件的 Widget。
若因鼠標事件導緻 Widget 移動,使用全局位置返迴通過 globalPos () 以避免晃動。
另請參閱 x (), y (),和 globalPos ().
將鼠標光標位置返迴作為 QPointF , relative to the widget that received the event.
若因鼠標事件導緻 Widget 移動,使用全局位置返迴通過 globalPos () 以避免晃動。
該函數在 Qt 4.4 引入。
另請參閱 x (), y (), pos (),和 globalPos ().
返迴相對於接收事件 Widget 的鼠標光標 X 位置。
返迴相對於接收事件 Widget 的鼠標光標 Y 位置。