変更点Qt Remote Objects
Qt 6 における変更点は、フレームワークをより効率的で使いやすくするための意図的な取り組みの結果です。
各リリースにおいて、すべての公開 API についてバイナリおよびソースの互換性を維持するよう努めています。しかし、Qt をより優れたフレームワークにするためには、いくつかの変更が避けられませんでした。
このトピックでは、Qt Remote Objects におけるそれらの変更点をまとめ、それらに対処するためのガイダンスを提供します。
API の変更
const-ref QString を受け取る関数が QStringView に変更
QRemoteObjectHostBase::proxy、QRemoteObjectHostBase::reverseProxy 、およびQRemoteObjectNode::instances は、const QString & の代わりにQStringView を受け入れるようになりました。これにより生じる最大の違いは、文字列リテラルからの暗黙的な変換(例:node.instances("abc"); )が受け付けられなくなったことです。代わりに、UTF-16文字列リテラル(node.instances(u"abc") )を使用できます。
カスタムトランスポートバックエンドのサポートに関するクラスの変更
「semi-private」のIoDeviceBase 、ServerIoDevice 、およびClientIoDevice クラスは、Qt XMLの命名規則と整合性を保つため、それぞれQtROIoDeviceBase 、QtROServerIoDevice 、QtROClientIoDevice に名称が変更されました。また、これらのクラスは、privateヘッダーqconnectionfactories_p.h からqconnectionfactories.h へ移動されました。
注:これらのクラスは 、Qt Remote Objects 向けのカスタム通信プロトコルを実装する際の柔軟性を高めるために提供されていますが、ソースおよびバイナリの互換性は保証されていません。外部通信チャネルのサポートが必要な場合は、QRemoteObjectNode::addClientSideConnection() およびQRemoteObjectHostBase::addHostSideConnection() メソッドの使用を推奨します。
CMake に関する変更
repcの呼び出しおよび生成された.rep ファイルをCMakeプロジェクトに追加するためのcmake の手順が若干変更されました。qt5_generate_repc マクロの代わりに、qt6_add_repc_sources 、qt6_add_repc_replicas 、およびqt6_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関数に関するより詳細な説明はこちらをご覧ください。
© 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.