このページでは

TraceCanvas QML Type

Traceオブジェクトのレンダリングに特化したCanvasタイプ。詳細...

Import Statement: import QtQuick.VirtualKeyboard.Styles
Since: QtQuick.VirtualKeyboard 2.0
Inherits:

Canvas

プロパティ

信号

方法

詳細説明

この型は、画面上にTraceオブジェクトをレンダリングする機能を提供する。

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 シグナルがトリガーされた後、canvas を再利用することができます。

autoDestroyDelay : int

オブジェクトが破壊またはリサイクルされるまでのおおよその遅延を、自動破壊の開始から数えてミリ秒単位で指定します。

この遅延時間により、例えば破壊前にアイテムをアニメーションさせることが可能になります。

デフォルト値は 0 です。

renderFunction : var

このプロパティはレンダリング関数を定義する。

デフォルト値はrenderSmoothedLine

trace : Trace

Trace オブジェクトへのアクセスを提供する。

シグナルのドキュメント

[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()

角が丸い滑らかな線をレンダリングします。

この関数はインクリメンタルで、トレースに追加された新しい部分のみをレンダリングします。

この関数はキャンバスの属性を変更しません。

© 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.