TraceCanvas QML Type
Trace オブジェクトをレンダリングするための専用の Canvas タイプです。詳細...
| Import Statement: | import QtQuick.VirtualKeyboard.Styles |
| Since: | QtQuick.VirtualKeyboard 2.0 |
| Inherits: |
プロパティ
- autoDestroy : bool
- autoDestroyDelay : int
- renderFunction : var
- trace : Trace
信号
- onRecycle(var traceCanvas)
(since 6.1)
方法
- recycle()
(since 6.1) - renderClear()
(since 6.1) - renderSmoothedLine()
詳細な説明
このタイプは、Trace オブジェクトを画面上に描画するための機能を提供します。
キーボードでトレースの描画を利用可能にするには、この型をKeyboardStyle.traceCanvasDelegate コンポーネントとして宣言する必要があります。
traceCanvasDelegate: TraceCanvas {
}Canvas.availableシグナル内で、カスタム描画属性を初期化できます。例:
onAvailableChanged: {
if (!available)
return;
var ctx = getContext("2d")
ctx.lineWidth = 8 * scaleHint
ctx.lineCap = "round"
ctx.strokeStyle = Qt.rgba(0xFF, 0xFF, 0xFF)
ctx.fillStyle = ctx.strokeStyle
}この型には、Traceの描画用の組み込みオプションが用意されています。現在、以下の描画オプションが利用可能です:
renderSmoothedLine角が丸く滑らかな線をレンダリングします(デフォルト)
renderFunction プロパティを使用して、レンダリング関数を変更できます。
renderFunction: renderSmoothedLineカスタム描画関数もサポートされています。次の例を参照してください:
renderFunction: renderCustomLine
function renderCustomLine() {
getContext("2d")
var points = trace.points()
...
}プロパティのドキュメント
autoDestroy : bool
自動破棄モードを有効にします。
有効にすると、trace オブジェクトが破棄された際に、このアイテムも破棄されます。
デフォルト値は false です。この場合、onRecycle シグナルがトリガーされた後でも、キャンバスを再利用できます。
autoDestroyDelay : int
オブジェクトが破棄または再利用されるまでの、自動破棄の開始時点から数えたおおよその遅延時間をミリ秒単位で指定します。
この遅延により、例えば、破棄前にアイテムをアニメーションさせることが可能になります。
デフォルト値は 0 です。
renderFunction : var
このプロパティは、レンダリング関数を定義します。
デフォルト値はrenderSmoothedLine
trace : Trace
Trace オブジェクトへのアクセスを提供します。
Signal ドキュメント
[since 6.1] onRecycle(var traceCanvas)
traceCanvas がリサイクルされた際に発生します。
注: 対応するハンドラは onOnRecycle です。
このシグナルは Qt 6.1 で導入されました。
メソッドのドキュメント
[since 6.1] recycle()
すべての描画を消去し、変数をリセットすることで、トレースキャンバスをリセットします。
この関数は、処理完了後(return文の前)にonRecycle シグナルを発生させます。
リサイクルに成功した場合、この関数は true を返します。
このメソッドは Qt 6.1 で導入されました。
[since 6.1] renderClear()
画面をクリアし、レンダリングをリセットします。
このメソッドは Qt 6.1 で導入されました。
renderSmoothedLine()
角が丸い滑らかな線をレンダリングします。
この関数は増分処理を行っており、Trace に追加された新しい部分のみを描画します。
この関数は、キャンバスの属性を一切変更しません(つまり、属性は他の場所で設定可能です)。
© 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.