WebChannel QML Type
QWebChannel への QML インターフェース。詳細...
| Import Statement: | import QtWebChannel 1.12 |
プロパティ
- blockUpdates : bool
- propertyUpdateInterval : int
- registeredObjects : list<QtObject>
- transports : list<QtObject>
関連プロパティ
- id : string
方法
- void connectTo(QtObject transport)
- void deregisterObject(QtObject object)
- void disconnectFrom(QtObject transport)
- void registerObject(const string id, QtObject object)
- void registerObjects(object objects)
詳細説明
WebChannelは、HTMLクライアントからQObject やQMLオブジェクトに透過的にアクセスするための仕組みを提供します。すべてのプロパティ、シグナル、およびパブリックスロットをHTMLクライアントから利用できます。
「 QWebChannel 」 および「JavaScript API」も参照してください 。
プロパティのドキュメント
blockUpdates : bool
true に設定すると、更新がブロックされ、リモートクライアントにはプロパティの変更が通知されなくなります。
変更内容は記録され、このプロパティをfalse に設定して更新のブロックが解除されると、クライアントに送信されます。デフォルトでは、更新はブロックされません。
propertyUpdateInterval : int
プロパティの更新間隔。
この間隔は、正の値を設定することで、ミリ秒単位で別の間隔に変更できます。 プロパティの更新はバッチ処理され、この間隔が経過した後に送信されます。0に設定した場合、1回のイベントループ実行中に発生した更新はバッチ処理され、次の実行時に送信されます。負の値に設定した場合、更新は即座に送信されます。デフォルト値は50ミリ秒です。
registeredObjects : list<QtObject> [read-only]
リモートクライアントからアクセス可能にするべきオブジェクトの一覧。
各オブジェクトには、id プロパティが識別子に設定されている必要があり、これによりHTML側でそのオブジェクトが識別されます。
登録されると、すべてのシグナルおよびプロパティの変更が自動的にクライアントに伝播されます。スロットを含むパブリックの呼び出し可能メソッドも、クライアントからアクセス可能です。
コンポーネントの作成時には利用できないオブジェクトを登録する必要がある場合は、命令型のregisterObjects メソッドを使用してください。
registerObjects() およびidも参照してください 。
transports : list<QtObject> [read-only]
QWebChannelAbstractTransport を実装するトランスポートオブジェクトの一覧です。これらのトランスポートは、リモートクライアントとの通信に使用されます。
connectTo() およびdisconnectFrom()も参照してください 。
添付プロパティのドキュメント
WebChannel.id : string [attached]
WebChannelに登録されたオブジェクトが、リモートクライアントから識別されるための識別子です。
WebChannel 経由で公開されるすべてのオブジェクトに対して、このプロパティを設定する必要があります。id の形式に関する制限はありませんが、通常は、有効な JavaScript 識別子でもある文字列を選択することをお勧めします。
メソッドのドキュメント
void connectTo(QtObject transport)
transport へ接続します。これは、単一のクライアントへの通信チャネルを表します。
トランスポートオブジェクトは、QWebChannelAbstractTransport の実装でなければなりません。
transports およびdisconnectFrom()も参照してください 。
void deregisterObject(QtObject object)
指定されたobject をWebChannelから登録解除します。
リモートクライアントは、指定されたオブジェクトに関するdestroyed シグナルを受信します。
registerObjects()、registerObject()、およびregisteredObjectsも参照してください 。
void disconnectFrom(QtObject transport)
transport をこのWebChannelから切り離します。
クライアントは、これ以降WebChannelと通信できなくなり、シグナルやプロパティの更新も受信できなくなります。
connectTo()も参照してください 。
void registerObject(const string id, QtObject object)
WebChannel に 1 つのオブジェクトを登録します。
object のプロパティ、シグナル、およびパブリックメソッドは、リモートクライアントに公開されます。そこで、識別子id を持つオブジェクトが構築されます。
BINDABLE であるものの、NOTIFY シグナルを持たないプロパティについては、クライアント側でのプロパティ更新は機能しますが、変更通知に対するコールバックを登録する仕組みはありません。
注: 現在の制限 として、オブジェクトはクライアントが初期化される前に登録されている必要があります。
関連項目: registerObjects()、deregisterObject()、およびregisteredObjects 。
void registerObjects(object objects)
指定されたobjects を登録し、HTMLクライアントからアクセスできるようにします。objects はJavaScriptのMapオブジェクトである必要があります。このマップのキーは、クライアント側におけるオブジェクトの識別子として使用されます。
登録されると、すべてのシグナルおよびプロパティの変更が自動的にクライアントに伝播されます。スロットを含むパブリックな呼び出し可能メソッドも、クライアントからアクセス可能です。
この命令型APIは、動的にオブジェクトを登録するために使用できます。静的なオブジェクトの場合は、宣言型のregisteredObjects プロパティを使用することを推奨します。
「registeredObjects」も参照してください 。
© 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.