QTabletEvent Class
QTabletEventクラスは、タブレットイベントを記述するパラメータを含んでいます。詳細...
ヘッダー | #include <QTabletEvent> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS Gui) target_link_libraries(mytarget PRIVATE Qt6::Gui) |
qmake: | QT += gui |
継承: | QSinglePointEvent |
- 継承されたメンバを含むすべてのメンバのリスト
- 非推奨メンバー
- QTabletEventはEventクラスの一部です。
パブリック関数
QTabletEvent(QEvent::Type type, const QPointingDevice *dev, const QPointF &pos, const QPointF &globalPos, qreal pressure, float xTilt, float yTilt, float tangentialPressure, qreal rotation, float z, Qt::KeyboardModifiers keyState, Qt::MouseButton button, Qt::MouseButtons buttons) | |
qreal | pressure() const |
qreal | rotation() const |
qreal | tangentialPressure() const |
qreal | xTilt() const |
qreal | yTilt() const |
qreal | z() const |
詳細説明
タブレットイベントは、Wacomタブレットや他の様々なブランドのタブレット周辺機器、およびいくつかのタイプのタブレットコンピュータに含まれる電磁スタイラスデバイスから生成されます。(タッチスクリーン上で受動的なスタイラスが使用されている場合でも、タッチスクリーンが生成するQTouchEvent とは異なります)。
例えば、x()、y()、pos()、globalX()、globalY()、globalPos()アクセサはカーソル位置を提供し、どのbuttons()が押されたかを確認することができます(スタイラスの先端をタブレット表面に押し当てることは、マウスの左ボタンに相当します)。しかし、タブレット・イベントは、タブレット・デバイス・ドライバが提供する追加情報も通過させます;たとえば、より高い解像度の座標でサブピクセルレンダリングを行いたい場合 (globalPosF() )、タブレット表面に対するツールのpressure() に基づいて色の明るさを調整したい場合、使用中のツールの種類に応じて異なるブラシを使用したい場合 (deviceType() )などが考えられます、タブレット表面に対するツールのX軸とY軸の傾きに応じてブラシの形状を何らかの方法で調整する(xTilt()とyTilt()、ユーザーがダブルエンドのスタイラスのもう一方の端に切り替えた場合、ブラシの代わりに仮想消しゴムを使用する(pointerType()。
すべてのイベントには、受信者がそのイベントを望んでいるかどうかを示す accept フラグが含まれています。タブレット・イベントを処理する場合は、QTabletEvent::accept() を呼び出す必要があります。そうしないと、イベントは親ウィジェットに送信されます。例外は、TabletEnterProximity イベントと TabletLeaveProximity イベントです。これらはQApplication にのみ送信され、受理されたかどうかはチェックされません。
QWidget::setEnabled() 関数を使用して、ウィジェットのマウス、タブレット、キーボードイベントを有効または無効にできます。
イベントハンドラQWidget::tabletEvent() は、TabletPress、TabletRelease、TabletMove イベントを受信します。Qt は、最初にタブレット・イベントを送信し、次に、どのウィジェットによっても受 け入れられなかった場合、マウス・イベントを送信します。これにより、タブレット用に設計されていないアプリケーションでも、タブレットをマウスのように使うことができます。しかし、高解像度の描画アプリケーションは、タブレット・イベントを処理する必要があります。なぜなら、タブレット・イベントは高い頻度で発生する可能性があり、スムーズで正確な描画に役立つからです。タブレットイベントが拒否された場合、合成マウスイベントは効率化のために圧縮される可能性があります。
スタイラスがタブレットの上にあるときにスタイラスボタンを押すと、タブレットの種類によってはボタンが押されたことになります。
X11ユーザーへの注意事項
タブレットがワコムドライバを使うように xorg.conf で設定されている場合、スタイラス、消しゴム、カーソル、タッチパッド用に別々の XInput "デバイス "が存在します。Qtはこれらを名前で認識します。そうでなければ、タブレットがevdevドライバを使うように設定されている場合、デバイスは1つしかなく、アプリケーションはスタイラスと消しゴムを区別できないかもしれません。
Windowsユーザー向けの注意事項
タブレットのサポートには現在、wintab32.dll
DLLを提供するWACOM Windowsドライバがインストールされている必要があります。これは古いパッケージ、例えばpentablet_5.3.5-3.exe
に含まれています。
メンバー関数ドキュメント
QTabletEvent::QTabletEvent(QEvent::Type type, const QPointingDevice *dev, const QPointF &pos, const QPointF &globalPos, qreal pressure, float xTilt, float yTilt, float tangentialPressure, qreal rotation, float z, Qt::KeyboardModifiers keyState, Qt::MouseButton button, Qt::MouseButtons buttons)
与えられたtype のタブレットイベントを構築する。
pos パラメータは、ウィジェットのどこでイベントが発生したかを示す。globalPos は、絶対座標での対応する位置である。
pressure はデバイスにかかる圧力を与える 。dev
xTilt と は、それぞれ x 軸と y 軸からのデバイスの傾きの度合いを指定します。yTilt
keyState は、どのキーボード修飾子が押されたかを指定します(例: )。Ctrl
z パラメータは、タブレット上のデバイスのZ座標を指定します。これは通常、4Dマウスのホイールによって指定されます。デバイスがZ軸をサポートしていない場合(つまり、QPointingDevice::capabilities() にZPosition
が含まれていない場合)、ここに0
を渡します。
tangentialPressure パラメータは、エアブラシの接線圧サムホイールの値を与えます。デバイスが接線圧をサポートしていない場合 (すなわちQPointingDevice::capabilities() にTangentialPressure
が含まれていない場合)、ここに0
を渡します。
rotation はデバイスの回転を度単位で指定します。4Dマウス、ワコムアートペン、アップルペンシルは回転をサポートしています。デバイスが回転をサポートしていない場合(すなわち、 () に が含まれていない場合)、 をここに渡します。QPointingDevice::capabilities Rotation
0
イベントの原因となったbutton は、Qt::MouseButton enum の値として与えられます。イベントtype がTabletPress またはTabletRelease でない場合、このイベントに適切なボタンはQt::NoButton です。
buttons は、イベント発生時のすべてのボタンの状態である。
pos()、globalPos()、device()、pressure()、xTilt()、yTilt()、uniqueId()、rotation()、tangentialPressure()、z()も参照のこと 。
qreal QTabletEvent::pressure() const
デバイスの筆圧を返します。0.0はスタイラスがタブレット上にないことを示し、1.0はスタイラスの最大筆圧を示します。
tangentialPressure()も参照してください 。
qreal QTabletEvent::rotation() const
現在のツールの回転を度単位で返します。ゼロはスタイラスの先端がタブレットの上を向いていることを意味し、正の値は右に回転していることを意味し、負の値は左に回転していることを意味します。これは4Dマウスや回転可能なスタイラス(Wacom Art PenやApple Pencilなど)で指定できます。デバイスが回転をサポートしていない場合、この値は常に0.0になります。
qreal QTabletEvent::tangentialPressure() const
装置の接線圧力を返します。これは通常、エアブラシツールのフィンガーホイールによって与えられます。範囲は-1.0から1.0です。0.0は中立位置を示します。現在のエアブラシは、中立位置から正の方向にしか移動できません。デバイスが接線圧力をサポートしていない場合、この値は常に0.0になります。
注: 値は単精度浮動小数点として格納されます。
pressure()も参照してください 。
qreal QTabletEvent::xTilt() const
デバイス(例えばペン)とx軸方向の垂直との間の角度を返します。正の値はタブレットの物理的な右方向です。角度は-60度から+60度の範囲です。
注: 値は単精度floatとして格納されます。
yTilt()も参照してください 。
qreal QTabletEvent::yTilt() const
デバイス(例えばペン)とy軸方向の垂直との間の角度を返します。正の値はタブレットの底に向かいます。角度は-60度から+60度の範囲内です。
注: 値は単精度floatとして格納される。
xTilt()も参照 。
qreal QTabletEvent::z() const
デバイスのz位置を返します。通常、これは4Dマウスのホイールで表されます。デバイスがZ軸をサポートしていない場合、この値は常に0になります。これは圧力とは異なります。
注: 値は単精度floatとして格納されます。
pressure()も参照してください 。
© 2025 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.