PinchHandler QML Type
ピンチジェスチャー用ハンドラ。詳細...
| Import Statement: | import QtQuick |
| Inherits: |
プロパティ
- acceptedDevices : flags
- acceptedModifiers : flags
- acceptedPointerTypes : flags
- active : bool
- activeRotation : real
- activeScale : real
- activeTranslation : point
- centroid : QtQuick::handlerPoint
- cursorShape : Qt::CursorShape
- dragThreshold : int
- enabled : bool
- grabPermissions : flags
- margin : real
- parent : Item
- persistentRotation : real
- persistentScale : real
- persistentTranslation : point
- rotationAxis
- rotationAxis.activeValue : real
- rotationAxis.enabled : bool
- rotationAxis.maximum : real
- rotationAxis.minimum : real
- scaleAxis
- scaleAxis.activeValue : real
- scaleAxis.enabled : bool
- scaleAxis.maximum : real
- scaleAxis.minimum : real
- target : Item
- xAxis
- xAxis.activeValue : real
- xAxis.enabled : bool
- xAxis.maximum : real
- xAxis.minimum : real
- yAxis
- yAxis.activeValue : real
- yAxis.enabled : bool
- yAxis.maximum : real
- yAxis.minimum : real
信号
- canceled(eventPoint point)
- grabChanged(PointerDevice::GrabTransition transition, eventPoint point)
- rotationChanged(qreal delta)
- scaleChanged(qreal delta)
- translationChanged(QVector2D delta)
詳細説明
PinchHandler は、マルチフィンガージェスチャを解釈して、Item をインタラクティブに回転、ズーム、ドラッグするハンドラです。他の Input Handler と同様に、デフォルトでは完全に機能し、target (宣言された Item)を操作します。
import QtQuick Rectangle { width: 400 height: 300 color: "lightsteelblue" PinchHandler { } }
ドラッグ、回転、ズームの範囲を制限するプロパティがあります。
あるItem内で宣言され、異なるtarget が割り当てられた場合、外側のItemの境界内でイベントを処理するが、代わりにtarget Itemを操作する:
import QtQuick Item { width: 640 height: 480 Rectangle { id: map color: "aqua" width: 400 height: 300 } PinchHandler { target: map } }
3つ目の使い方は、target をnull に設定し、他の方法でプロパティ変更に反応することである:
import QtQuick Window { width: 320; height: 240 visible: true title: handler.persistentRotation.toFixed(1) + "° " + handler.persistentTranslation.x.toFixed(1) + ", " + handler.persistentTranslation.y.toFixed(1) + " " + (handler.persistentScale * 100).toFixed(1) + "%" PinchHandler { id: handler target: null persistentScale: 0.25 onTranslationChanged: (delta) => { image.x -= delta.x image.y -= delta.y } } Image { id: image source: "images/album-cover.jpg" scale: handler.persistentScale x: -600; y: -450 } }

注: ピンチは、押された指の数がminimumPointCount とmaximumPointCount の間にあるときに始まります。それまでは、PinchHandler は押された指の位置を追跡しますが、それが許可されない数である場合、target を拡大縮小したり回転したりせず、active プロパティはfalse のままです。
PinchArea,QPointerEvent::pointCount(),QNativeGestureEvent::fingerCount(),Qt Quick Examples - Pointer Handlersも参照してください 。
プロパティのドキュメント
acceptedDevices : flags
このポインタハンドラを起動できるポインティングデバイスのタイプ。
デフォルトでは、このプロパティはPointerDevice.AllDevices に設定されています。 デバイスタイプの OR の組み合わせに設定すると、一致しないデバイスからのイベントは無視されます。
例えば、マウスやスタイラスのクリックに反応するコントロールと、タッチスクリーンのタップに反応するコントロールを、2つのハンドラで使い分けることができます:
Item { TapHandler { acceptedDevices: PointerDevice.Mouse | PointerDevice.TouchPad | PointerDevice.Stylus onTapped: console.log("clicked") } TapHandler { acceptedDevices: PointerDevice.TouchScreen onTapped: console.log("tapped") } }
注意: すべてのプラットフォームがマウスとタッチパッドを区別できるわけではありません。区別できるプラットフォームでは、マウスとタッチパッドの動作を同じにしたい場合がよくあります。
acceptedModifiers : flags
このプロパティが設定されると、ポインタ・イベントに反応するために、指定されたキーボード修飾キーが押されることを要求し、そうでなければ無視する。
このプロパティがQt.KeyboardModifierMask (デフォルト値)に設定されている場合、PointerHandler は修飾キーを無視する。
例えば、Item は同じタイプのハンドラを2つ持つことができ、そのうちの1つは、必要なキーボード修飾子が押された場合にのみ有効になる:
Item { TapHandler { acceptedModifiers: Qt.ControlModifier onTapped: console.log("control-tapped") } TapHandler { acceptedModifiers: Qt.NoModifier onTapped: console.log("tapped") } }
acceptedModifiers を修飾キーの OR の組み合わせに設定した場合、ハンドラを有効にするには、それらの修飾キーがすべて押されなければならないことを意味します:
Item { TapHandler { acceptedModifiers: Qt.ControlModifier | Qt.AltModifier | Qt.ShiftModifier onTapped: console.log("control-alt-shift-tapped") } }
使用可能な修飾子は以下の通りです:
| 定数 | 説明 |
|---|---|
NoModifier | 修飾キーは使用できません。 |
ShiftModifier | キーボードのShiftキーが押されていなければならない。 |
ControlModifier | キーボードの Ctrl キーが押されていなければならない。 |
AltModifier | キーボードのAltキーが押されていること。 |
MetaModifier | キーボードのMetaキーが押されていなければならない。 |
KeypadModifier | キーパッドのボタンが押されていること。 |
GroupSwitchModifier | X11のみ(Windowsではコマンドライン引数で有効にしない)。キーボードのMode_switchキーが押されていなければならない。 |
KeyboardModifierMask | ハンドラーは、どの修飾子が押されたかは気にしない。 |
複数のハンドラと複数の修飾子フラグの組み合わせで実現できるよりもさらに複雑な動作が必要な場合は、JavaScriptコードで修飾子をチェックできます:
Item { TapHandler { onTapped: switch (point.modifiers) { case Qt.ControlModifier | Qt.AltModifier: console.log("CTRL+ALT"); break; case Qt.ControlModifier | Qt.AltModifier | Qt.MetaModifier: console.log("CTRL+META+ALT"); break; default: console.log("other modifiers", point.modifiers); break; } } }
Qt::KeyboardModifierも参照してください 。
acceptedPointerTypes : flags
このポインタハンドラをアクティブにできるポインティングデバイス(指、スタイラス、消しゴムなど)のタイプ。
デフォルトでは、このプロパティはPointerDevice.AllPointerTypes に設定されています。 デバイスタイプの OR の組み合わせに設定すると、一致しないdevices からのイベントは無視されます。
たとえば、マウス、タッチ、スタイラスのクリックには何らかの方法で反応するが、グラフィック・タブレットの消しゴムツールでタップすると自身を削除するようなコントロールを、2つのハンドラで作成することができます:
Rectangle { id: rect TapHandler { acceptedPointerTypes: PointerDevice.Generic | PointerDevice.Finger | PointerDevice.Pen onTapped: console.log("clicked") } TapHandler { acceptedPointerTypes: PointerDevice.Eraser onTapped: rect.destroy() } }
active : bool [read-only]
この特性は、すべての制約(特にminimumPointCount とmaximumPointCount )が満たされ、target (もしあれば)が操作されているとき、true となる。
activeRotation : real [read-only]
ピンチジェスチャーの回転を度単位で表し、正の値は時計回りです。この値は、ジェスチャーの開始時に0 になります。target が NULL でない場合、この値は自動的にrotation に追加されます。それ以外の場合は、バインディングを使用してこの値で任意のことを行うことができます。
QtQuick::PinchHandler::rotationAxis.activeValueも参照してください 。
activeScale : real [read-only]
ピンチ・ジェスチャーが実行されている間のスケール係数。ジェスチャーの開始時は 1.0 で、タッチ ポイントが離れるにつれて増加し、タッチ ポイントが合わさるにつれて減少します。target が NULL でない場合、scale にこの値が自動的に乗算されます。それ以外の場合は、バインディングを使用してこの値で任意のことを行うことができます。
QtQuick::PinchHandler::scaleAxis.activeValueも参照してください 。
activeTranslation : point [read-only]
ピンチ・ジェスチャーが実行されている間の点群の移動。ジェスチャの開始時は0, 0 で、eventPoint(s) が下方および右方向にドラッグされるにつれて増加します。ジェスチャーが終了した後は同じままです。次のピンチジェスチャーが始まると、0, 0 に再びリセットされます。
注: macOSのトラックパッドなど、一部のタッチパッドでは、ネイティブ・ジェスチャーは変換値を生成せず、このプロパティは(0, 0) のままです。
centroid : QtQuick::handlerPoint [read-only]
現在押しているタッチポイントのちょうど真ん中の点。target はこの点を中心に回転する。
cursorShape : Qt::CursorShape
このプロパティは、active がtrue である間、マウスがparent アイテムの上に置かれたときに表示されるカーソル形状を保持します。
利用可能なカーソル形状は以下の通りです:
- Qt.ArrowCursor
- Qt.UpArrowCursor
- Qt.CrossCursor
- Qt.WaitCursor
- Qt.IBeamCursor
- Qt.SizeVerCursor
- Qt.SizeHorCursor
- Qt.SizeBDiagCursor
- Qt.SizeFDiagCursor
- Qt.SizeAllCursor
- Qt.BlankCursor
- Qt.SplitVCursor
- Qt.SplitHCursor
- Qt.PointingHandCursor
- Qt.ForbiddenCursor
- Qt.WhatsThisCursor
- Qt.BusyCursor
- Qt.OpenHandCursor
- Qt.ClosedHandCursor
- Qt.DragCopyCursor
- Qt.DragMoveCursor
- Qt.DragLinkCursor
デフォルト値は設定されていないため、parent アイテムのcursor が表示されます。このプロパティは、undefined に設定することで、同じ初期状態に戻すことができます。
注意: このプロパティが設定されていない場合、またはundefined に設定されている場合、値を読み取るとQt.ArrowCursor を返します。
Qt::CursorShape 、QQuickItem::cursor()、HoverHandler::cursorShapeも参照のこと 。
dragThreshold : int
ドラッグ ジェスチャとして扱うために、ユーザーがeventPoint をドラッグする距離をピクセル単位で指定します。
デフォルト値はプラットフォームと画面解像度によって異なります。undefinedに設定することで、デフォルト値に戻すことができます。ドラッグ ジェスチャが開始したときの動作は、ハンドラによって異なります。
enabled : bool
PointerHandler が無効化されると、すべてのイベントを拒否し、シグナルは発せられない。
PointerHandler のparent がdisabled の場合、enabled プロパティがtrue のままでも、ハンドラは事実上無効になる。
注: HoverHandler は異なる動作をします。詳しくはenabled プロパティのドキュメントを参照してください。
grabPermissions : flags
このプロパティは、このハンドラのロジックが排他グラブを引き継ぐことを決定した場合、または他のハンドラからグラブの引き継ぎやキャンセルを承認するよう求められた場合のパーミッションを指定します。
| 定数 | 説明 |
|---|---|
PointerHandler.TakeOverForbidden | このハンドラは、ItemまたはHandlerのどのタイプからもグラブの許可を取らず、与えません。 |
PointerHandler.CanTakeOverFromHandlersOfSameType | このハンドラは、同じクラスの他のハンドラから排他的グラブを取ることができます。 |
PointerHandler.CanTakeOverFromHandlersOfDifferentType | このハンドラは、あらゆる種類のハンドラから排他的なグラブを取ることができます。 |
PointerHandler.CanTakeOverFromItems | このハンドラは、どのタイプのItemからも排他的グラブを取ることができます。 |
PointerHandler.CanTakeOverFromAnything | このハンドラは、どのタイプのアイテムまたはハンドラからも排他的グラブを取ることができます。 |
PointerHandler.ApprovesTakeOverByHandlersOfSameType | このハンドラーは、同じクラスの他のハンドラーがグラブを取ることを許可します。 |
PointerHandler.ApprovesTakeOverByHandlersOfDifferentType | このハンドラーは、あらゆる種類のハンドラーにグラブを取る許可を与えます。 |
PointerHandler.ApprovesTakeOverByItems | このハンドラーは、あらゆる種類のItemがグラブを取ることを許可します。 |
PointerHandler.ApprovesCancellation | このハンドラは、そのグラブが null に設定されることを許可します。 |
PointerHandler.ApprovesTakeOverByAnything | このハンドラはどんな種類のItemやハンドラにもグラブを取る許可を与えます。 |
デフォルトはPointerHandler.CanTakeOverFromItems | PointerHandler.CanTakeOverFromHandlersOfDifferentType | PointerHandler.ApprovesTakeOverByAnything で、ほとんどの引き継ぎシナリオを許可しますが、例えば2つのPinchHandlerが同じタッチポイントを取り合うことを避けます。
margin : real
eventPoint がこのハンドラを起動できる、parent アイテムの境界を超えたマージン。例えば、target がparent でもあるようなPinchHandler では、parent が非常に小さいサイズに縮小されてもピンチジェスチャーが可能なように、一般的なユーザーの指の幅の半分以上の距離に設定すると便利です。また、TapHandler ベースのボタンが画面の端の近くに配置されている場合、フィッツの法則に準拠するために使用することができます:ボタンが視覚的に端から数ピクセル離れていても、画面の端でマウスクリックに反応します。
デフォルト値は0です。

parent : Item
ハンドラのスコープであるItem; それが宣言されたItem。ハンドラはこのItemに代わってイベントを処理する。つまり、ポインタイベントは、そのeventPoints の少なくとも1つがItemの内部で発生する場合に関連する。最初はtarget() が同じであるが、再割り当てが可能である。
target およびQObject::parent()も参照 。
persistentRotation : real
NULLでない場合、target に適用される回転。それ以外の場合は、バインディングを使用してこの値で任意のことを行うことができます。ピンチジェスチャーが実行されている間、activeRotation は継続的に追加されます。ジェスチャーが終了した後、 はそのままで、次のピンチジェスチャーが始まると、activeRotation によって再び変更され始めます。
このプロパティを設定することで、例えば別のハンドラなど、他の方法で設定された回転と基礎回転を同期させることができます。このプロパティを直接設定した場合、activeRotation は変更されず、rotationChanged(0) が発行されます。
persistentScale : real
NULLでなければ、target 。それ以外の場合は、バインディングを使用してこの値で任意のことができます。ピンチジェスチャーが実行されている間は、activeScale が継続的に乗算されます。ジェスチャーが終了した後は、そのままです。次のピンチジェスチャーが始まると、activeScale が再び乗算され始めます。
このプロパティを設定することで、他のハンドラなどで設定された基準となるスケールを同期させることができます。このプロパティを直接設定した場合、activeScale は変更されず、scaleChanged(1) が出力されます。
persistentTranslation : point
null でない場合、target に適用される翻訳。それ以外の場合は、バインディングを使用してこの値で任意のことができます。ピンチジェスチャーが実行されている間、activeTranslation は継続的に追加されます。ジェスチャーが終了した後も、この値は変わりません。
このプロパティを設定することで、他のハンドラなど、他の方法で設定された翻訳とベースの翻訳を同期させることができます。このプロパティを直接設定した場合、activeTranslation は変更されず、translationChanged({0, 0}) が出力されます。
注意: macOSのトラックパッドなど、一部のタッチパッドでは、ネイティブ・ジェスチャーは翻訳値を生成せず、このプロパティは(0, 0) のままです。
rotationAxis group
rotationAxis.activeValue : real [read-only]
rotationAxis.enabled : bool
rotationAxis.maximum : real
rotationAxis.minimum : real
rotationAxis タッチポイントのグループの回転に従って、target アイテムのrotation を設定するための制約を制御します。
minimum maximum は許容可能な最大回転である。 が true の場合、回転が許可されます。 は と同じです。enabled activeValue QtQuick::PinchHandler::activeRotation
activeValue が変更されるとactiveValueChanged シグナルが発行され、変更されたインクリメントが提供される。これは、1つのプロパティを複数のハンドラでインクリメンタルに調整するためのものです。
import QtQuick Rectangle { width: 100; height: 100 color: "lightsteelblue"; antialiasing: true PinchHandler { id: handler target: null xAxis.onActiveValueChanged: (delta) => parent.radius -= delta yAxis.onActiveValueChanged: (delta) => parent.border.width += delta rotationAxis.onActiveValueChanged: (delta) => parent.rotation += delta // add scaleAxis.onActiveValueChanged: (delta) => parent.scale *= delta // multiply } WheelHandler { acceptedModifiers: Qt.NoModifier property: "rotation" } WheelHandler { acceptedModifiers: Qt.ControlModifier property: "scale" } }
注: PinchHandler は、親アイテムを移動、拡大縮小、回転させる方法をすでに知っていますが、このコードでは、activeValueChanged を特殊なケースで使用する方法を説明するために、あまり明確でない方法で異なる動作を実現しています。
scaleAxis group
scaleAxis.activeValue : real [read-only]
scaleAxis.enabled : bool
scaleAxis.maximum : real
scaleAxis.minimum : real
scaleAxis タッチポイント間の距離に応じて、target アイテムのscale を設定するための制約を制御する。
minimum maximum は最大許容スケール。 が真の場合、スケーリングが許可されます。 は と同じです。enabled activeValue QtQuick::PinchHandler::activeScale
activeValue が変化するとactiveValueChanged シグナルが発せられ、増分変化の乗数を提供する。これは、1つのプロパティを複数のハンドラでインクリメンタルに調整するためのものです。
import QtQuick Rectangle { width: 100; height: 100 color: "lightsteelblue"; antialiasing: true PinchHandler { id: handler target: null xAxis.onActiveValueChanged: (delta) => parent.radius -= delta yAxis.onActiveValueChanged: (delta) => parent.border.width += delta rotationAxis.onActiveValueChanged: (delta) => parent.rotation += delta // add scaleAxis.onActiveValueChanged: (delta) => parent.scale *= delta // multiply } WheelHandler { acceptedModifiers: Qt.NoModifier property: "rotation" } WheelHandler { acceptedModifiers: Qt.ControlModifier property: "scale" } }
注: PinchHandler は、親アイテムを移動、拡大縮小、回転させる方法をすでに知っていますが、このコードでは、activeValueChanged を特殊なケースで使用する方法を説明するために、あまり明確でない方法で異なる動作を実現しています。
target : Item
このハンドラが操作するItem。
デフォルトでは、ハンドラが宣言されているItem(parent )と同じである。しかし、あるItem内のイベントを処理しながら別のItemを操作するために、ターゲットを別のItemに設定したり、null 、デフォルトの動作を無効にして、代わりに別の動作を行うために、ターゲットを別のItemに設定すると便利な場合がある。
xAxis group
xAxis target アイテムの水平移動の制約を制御する。
minimum maximum は移動の最大許容 x 座標です。 が真の場合、水平ドラッグが許可されます。enabled
activeValue が変更されるとactiveValueChanged シグナルが発行され、変更されたインクリメントが提供されます。これは、1つのプロパティを複数のハンドラでインクリメンタルに調整するためのものです。
import QtQuick Rectangle { width: 100; height: 100 color: "lightsteelblue"; antialiasing: true PinchHandler { id: handler target: null xAxis.onActiveValueChanged: (delta) => parent.radius -= delta yAxis.onActiveValueChanged: (delta) => parent.border.width += delta rotationAxis.onActiveValueChanged: (delta) => parent.rotation += delta // add scaleAxis.onActiveValueChanged: (delta) => parent.scale *= delta // multiply } WheelHandler { acceptedModifiers: Qt.NoModifier property: "rotation" } WheelHandler { acceptedModifiers: Qt.ControlModifier property: "scale" } }
注: PinchHandler は、親アイテムを移動、拡大縮小、回転させる方法をすでに知っていますが、このコードでは、activeValueChanged を特殊なケースで使用する方法を説明するために、あまり明確でない方法で異なる動作を実現しています。
yAxis group
yAxis target アイテムの垂直移動の制約を制御します。
minimum maximum は移動の最大許容 y 座標です。 が真の場合、垂直ドラッグが許可されます。enabled
activeValue が変更されるとactiveValueChanged シグナルが発行され、変更されたインクリメントが提供されます。これは、1つのプロパティを複数のハンドラでインクリメンタルに調整するためのものです。
import QtQuick Rectangle { width: 100; height: 100 color: "lightsteelblue"; antialiasing: true PinchHandler { id: handler target: null xAxis.onActiveValueChanged: (delta) => parent.radius -= delta yAxis.onActiveValueChanged: (delta) => parent.border.width += delta rotationAxis.onActiveValueChanged: (delta) => parent.rotation += delta // add scaleAxis.onActiveValueChanged: (delta) => parent.scale *= delta // multiply } WheelHandler { acceptedModifiers: Qt.NoModifier property: "rotation" } WheelHandler { acceptedModifiers: Qt.ControlModifier property: "scale" } }
注: PinchHandler は、親アイテムを移動、拡大縮小、回転させる方法をすでに知っていますが、このコードでは、activeValueChanged を特殊なケースで使用する方法を説明するために、あまり明確でない方法で異なる動作を実現しています。
シグナル・ドキュメント
canceled(eventPoint point)
このハンドラがすでに与えられたpoint をグラブしている場合、グラブが別のポインタハンドラまたはアイテムによって盗まれると、このシグナルが発行されます。
注: 対応するハンドラはonCanceled です。
grabChanged(PointerDevice::GrabTransition transition, eventPoint point)
このシグナルは、グラブがこのハンドラに関連する何らかの方法で変更されたときに発せられる。
transition (動詞)は何が起こったかを示す。point (オブジェクト)は、グラブされた、またはグラブされなかったポイントです。
transition の有効な値は以下の通りです:
| 定数 | 説明 |
|---|---|
PointerDevice.GrabExclusive | このハンドラは、point を処理するための主要な責任を取った。 |
PointerDevice.UngrabExclusive | このハンドラは、以前の排他的グラブを放棄した。 |
PointerDevice.CancelGrabExclusive | このハンドラの排他的グラブは引き継がれたかキャンセルされた。 |
PointerDevice.GrabPassive | このハンドラは、point を監視するために、パッシブグラブを獲得した。 |
PointerDevice.UngrabPassive | このハンドラーは以前のパッシブグラブを放棄した。 |
PointerDevice.CancelGrabPassive | このハンドラの前のパッシブグラブが異常終了した。 |
注: 対応するハンドラはonGrabChanged 。
rotationChanged(qreal delta)
rotationChanged シグナルは、activeRotation (したがってpersistentRotation )が変化したときに発せられる。delta の値は回転の加法変化を与える。例えば、ユーザーが指を動かしてピンチの距離を変え、activeRotation が10度から30度に変わると、rotationChanged(20) が発せられます。これを使用して、アイテムの回転を段階的に変更することができます:
import QtQuick Rectangle { width: 100; height: 100 color: "lightsteelblue" PinchHandler { id: handler target: null onRotationChanged: (delta) => parent.rotation += delta // add onScaleChanged: (delta) => parent.scale *= delta // multiply } }
注: persistentRotation プロパティを直接設定した場合、delta は0 になります。
注: 対応するハンドラはonRotationChanged です。
scaleChanged(qreal delta)
scaleChanged シグナルは、activeScale (したがってpersistentScale )が変化したときに発せられる。delta の値は、スケールの乗法的変化を与える。例えば、activeScale が2から2.5に変わるように、ユーザーが指を動かしてピンチの距離を変えると、scaleChanged(1.25) が発せられます。これを使用して、アイテムのスケールを段階的に変更できます:
import QtQuick Rectangle { width: 100; height: 100 color: "lightsteelblue" PinchHandler { id: handler target: null onRotationChanged: (delta) => parent.rotation += delta // add onScaleChanged: (delta) => parent.scale *= delta // multiply } }
注: persistentScale プロパティを直接設定した場合、delta は1 になります。
注: 対応するハンドラはonScaleChanged です。
translationChanged(QVector2D delta)
translationChanged シグナルは、activeTranslation (したがってpersistentTranslation )が変化したときに発せられる。delta ベクトルは並進の変化を与える。これを使用して、アイテムの位置を段階的に変更することができます:
import QtQuick Window { width: 320; height: 240 visible: true title: handler.persistentRotation.toFixed(1) + "° " + handler.persistentTranslation.x.toFixed(1) + ", " + handler.persistentTranslation.y.toFixed(1) + " " + (handler.persistentScale * 100).toFixed(1) + "%" PinchHandler { id: handler target: null persistentScale: 0.25 onTranslationChanged: (delta) => { image.x -= delta.x image.y -= delta.y } } Image { id: image source: "images/album-cover.jpg" scale: handler.persistentScale x: -600; y: -450 } }
注: persistentTranslation プロパティを直接設定した場合、delta は0, 0 になります。
注意: 対応するハンドラはonTranslationChanged です。
© 2026 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.