MochiuWiki : SUSE, EC, PCB
案内
メインページ
最近の更新
おまかせ表示
MediaWiki についてのヘルプ
ツール
リンク元
関連ページの更新状況
特別ページ
ページ情報
We ask for
Donations
検索
個人用ツール
ログイン
Toggle dark mode
名前空間
ページ
議論
表示
閲覧
ソースを閲覧
履歴を表示
Qtのコントロール - マウスのソースを表示
提供: MochiuWiki : SUSE, EC, PCB
←
Qtのコントロール - マウス
あなたには「このページの編集」を行う権限がありません。理由は以下の通りです:
この操作は、次のグループのいずれかに属する利用者のみが実行できます:
管理者
、new-group。
このページのソースの閲覧やコピーができます。
== 概要 == Qtにおいて、マウスイベントを処理する手順を記載する。<br> <br><br> == マウスボタンの押下 == QWidgetまたはその派生クラスにおいて、マウスイベントが発生する時、シグナルが発行されるのではなく、コールバックが呼び出される。<br> <br> 以下の例では、マウスイベントの各コールバックを示している。<br> <br> <code>mouseMoveEvent</code>イベントハンドラは、マウスのいずれかのボタンが押下した時に呼び出される。<br> このイベントは、<code>mouseTracking</code>プロパティで制御されており、初期値は<code>false</code>である。<br> <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++"> // MainWindow.cpp // ボタンを押下した時のコールバック void MainWindow::mousePressEvent(QMouseEvent *pEvent) { if( pEvent->button() == Qt::LeftButton) //if(pEvent->buttons() & Qt::LeftButton) // 複数のボタンを押下する場合 { // マウスの左ボタンを押下した場合 } else if(pEvent->button() == Qt::RightButton) { // マウスの右ボタンを押下した場合 } else if(pEvent->button() == Qt::MiddleButton) { // マウスの中ボタンを押下した場合 } // マウスのボタンが押下された位置を取得する QPoint pntLastPos = pEvent->pos(); } // マウスのいずれかのボタンを離した場合のコールバック void MainWindow::mosueReleaseEvent(QMouseEvent *pEvent) { } // マウスが移動した場合のコールバック void MainWindow::mouseMoveEvent(QMouseEvent *pEvent) { } // マウスホイールを回した場合(引数の型がQWheelEvent) void MainWindow::wheelEvent(QWheelEvent *pEvent) { // マウスホイールの前方 : 正の値 // マウスホイールの後方 : 負の値 // QWheelEventクラスのdeltaメソッドの値 : マウスホイールを回した角度の8倍の値 // 標準的なマウスでは1ステップ15度のため、8 * 15 = 120で除算する double dSteps = (double)pEvent->delta() / 120.0; } </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> __FORCETOC__ [[カテゴリ:Qt]]
Qtのコントロール - マウス
に戻る。
案内
メインページ
最近の更新
おまかせ表示
MediaWiki についてのヘルプ
ツール
リンク元
関連ページの更新状況
特別ページ
ページ情報
We ask for
Donations
Collapse