変更点Qt Remote Objects

Qt 6 は、フレームワークをより効率的で使いやすくするための意識的な努力の結果です。

私たちは各リリースにおいて、すべてのパブリックAPIのバイナリとソースの互換性を維持しようと努めています。しかし、Qt をより良いフレームワークにするために避けられない変更もあります。

このトピックでは、Qt Remote Objects におけるそれらの変更点を要約し、それらを扱うためのガイダンスを提供します。

API の変更

const-ref QString を受け取る関数が QStringView に変更されました。

QRemoteObjectHostBase::proxy QRemoteObjectHostBase::reverseProxy QRemoteObjectNode::instances QStringView const QString &これによる最大の違いは、文字列リテラルからの暗黙の変換を受け付けなくなったことです(つまりnode.instances("abc"); )。代わりに、UTF-16文字列リテラル(node.instances(u"abc"))を使うことができます。

カスタムトランスポートバックエンドサポートのためのクラスの変更

セミプライベート"IoDeviceBase,ServerIoDevice,ClientIoDevice クラスは、Qt での命名と一致するように、それぞれQtROIoDeviceBase,QtROServerIoDevice,QtROClientIoDevice に改名されました。また、qconnectionfactories_p.h のプライベート・ヘッダから、qconnectionfactories.h に移動しました。

注意: これらのクラスは、Qt Remote Objects のカスタム通信プロトコルを実装するための柔軟性を高めるために提供されていますが、ソースやバイナリの互換性は保証されていません。外部通信チャネルのサポートが必要な場合は、QRemoteObjectNode::addClientSideConnection() およびQRemoteObjectHostBase::addHostSideConnection() メソッドを使用することをお勧めします。

CMake の変更点

repc を呼び出し、生成された.rep ファイルを CMake プロジェクトに追加するためのcmake の手順が若干変更されました。qt5_generate_repc マクロの代わりに、qt6_add_repc_sourcesqt6_add_repc_replicasqt6_add_repc_merged 関数を使用するようになりました。例えば、以下のコードです:

set(SOURCES
    main.cpp
    simpleswitch.cpp
)

qt5_generate_repc(SOURCES simpleswitch.rep SOURCE)
add_executable(directconnectserver ${SOURCES})

に変更する必要があります:

set(SOURCES
    main.cpp
    simpleswitch.cpp
)
add_executable(directconnectserver ${SOURCES})
qt6_add_repc_sources(directconnectserver simpleswitch.rep)

これらのCMake関数の詳細な説明は、こちらを参照してください。

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