Qt SerialBusの変更点
Qt 6 は、フレームワークの効率性と使いやすさを向上させるための意図的な取り組みの成果です。 各リリースにおいて、すべての公開 API についてバイナリ互換性とソース互換性を維持するよう努めています。しかし、Qt をより優れたフレームワークにするためには、いくつかの変更が避けられませんでした。このトピックでは、Qt SerialBus モジュールにおけるそれらの変更点をまとめ、それらに対処するための指針を提供します。
変更点の概要
Qt SerialBus モジュールは、概して Qt 5 バージョンとソース互換性があり、ライブラリのユーザーは、プロジェクトにほとんど変更を加えることなく、あるいはわずかな変更のみで引き続き利用できます。
ビルドシステム
Qt 6全般と同様に、Qt SerialBusモジュールもqmakeに加え、CMakeをサポートしています。
APIの変更
Qt CAN バス
QCanBusFactoryV2 の削除
Qt 6 では、QCanBusFactoryV2 が削除され、公開 API の構成要素ではなくなりました。代わりに、QCanBusFactory には、QCanBusFactory::availableDevices という追加メソッドが追加されました。このメソッドは、QCanBusFactory のサブクラスによって実装される必要があります。
QCanBusDeviceの変更
QCanBusDevice には以下の変更が加えられました:
- setConfigurationParameter() および configurationParameter() は、int の代わりに独自の型 ConfigurationKey を使用するようになりました。
- 関数 `resetController()`、`hasBusStatus()`、および `busStatus()` は、仮想関数となりました。これらは、バイナリ互換性を確保するため、Qt 5 では内部コールバックとして実装されていました。
- プライベート API 関数 QCanBusDevice::createDeviceInfo() のいずれかを使用しているカスタムプラグインについては、これらの関数の最初のパラメータ名が
pluginに変更され、パラメータリストも若干変更されているため、わずかな修正が必要です。
QCanBusFrame への変更
QCanBusFrame では、FrameId という独自の型が使用されるようになりました。これはquint32へのtypedefであるため、既存のコードは引き続き動作するはずです。いずれにせよ、アップグレードの際はFrameId を使用することを推奨します。
Qt Modbus
QModbusRtuSerialMaster および QModbusRtuSerialSlave の名称変更
Modbus 組織の推奨に従い、クラス `QModbusRtuSerialMaster ` は `QModbusRtuSerialClient ` に、クラス `QModbusRtuSerialSlave ` は `QModbusRtuSerialServer` にそれぞれ名称が変更されました。Modbus の命名規則に準拠するため、新規または移植されたコードでは新しいクラス名を使用することを推奨します。
© 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.