13,007
回編集
細 (Wiki がページ「Qtの基礎 - マウスイベント」を「Qtのコントロール - マウス」に、リダイレクトを残さずに移動しました) |
編集の要約なし |
||
3行目: | 3行目: | ||
<br><br> | <br><br> | ||
== | == マウスボタンの押下 == | ||
QWidgetまたはその派生クラスにおいて、マウスイベントが発生する時、シグナルが発行されるのではなく、コールバックが呼び出される。<br> | QWidgetまたはその派生クラスにおいて、マウスイベントが発生する時、シグナルが発行されるのではなく、コールバックが呼び出される。<br> | ||
<br> | <br> | ||
12行目: | 12行目: | ||
<br> | <br> | ||
もし、マウスを移動させずに<code>mouseMoveEvent</code>イベントハンドラを発生させる場合は、<code>setMouseTracking(true)</code>を呼び出す。<br> | もし、マウスを移動させずに<code>mouseMoveEvent</code>イベントハンドラを発生させる場合は、<code>setMouseTracking(true)</code>を呼び出す。<br> | ||
<br> | |||
<u>※注意</u><br> | |||
<u>その座標に存在するオブジェクトが使用したイベントは、<code>mousePressEvent</code>では受け取れない。</u><br> | |||
<u>イベント一括処理で破棄されたイベントは受け取れない。</u><br> | |||
<syntaxhighlight lang="c++"> | |||
// Mainwindow.h | |||
// ...略 | |||
protected: | |||
void mousePressEvent(QMouseEvent *pEevent); | |||
void mosueReleaseEvent(QMouseEvent *pEevent); | |||
void mouseMoveEvent(QMouseEvent *pEevent); | |||
void wheelEvent(QMouseEvent *pEevent); | |||
</syntaxhighlight> | |||
<br> | |||
<syntaxhighlight lang="c++"> | <syntaxhighlight lang="c++"> | ||
// MainWindow.cpp | |||
// ボタンを押下した時のコールバック | // ボタンを押下した時のコールバック | ||
void MainWindow::mousePressEvent(QMouseEvent *pEvent) | void MainWindow::mousePressEvent(QMouseEvent *pEvent) | ||
52行目: | 70行目: | ||
} | } | ||
</syntaxhighlight> | </syntaxhighlight> | ||
<br> | |||
<center> | |||
表. マウスボタン定義 [enum Qt::MouseButton]<br> | |||
{| class="wikitable" style="background-color:#fefefe;" | |||
|- | |||
! style="background-color:#00ffff;" | 定義 | |||
! style="background-color:#00ffff;" | 説明 | |||
|- | |||
| Qt::NoButton || なし | |||
|- | |||
| Qt::AllButtons || 全てのマウスボタン | |||
|- | |||
| Qt::LeftButton || 左ボタン | |||
|- | |||
| Qt::RightButton || 右ボタン | |||
|- | |||
| Qt::MiddleButton || 中央ボタン | |||
|} | |||
</center> | |||
<br><br> | <br><br> | ||
__FORCETOC__ | __FORCETOC__ | ||
[[カテゴリ:Qt]] | [[カテゴリ:Qt]] |