Änderungen an Qt SerialBus

Qt 6 ist das Ergebnis der bewussten Bemühungen, das Framework effizienter und einfacher zu gestalten. Wir versuchen, die Binär- und Quellcode-Kompatibilität für alle öffentlichen APIs in jeder Version zu erhalten. Aber einige Änderungen waren unvermeidlich, um Qt zu einem besseren Framework zu machen. In diesem Thema fassen wir diese Änderungen im Qt SerialBus-Modul zusammen und geben eine Anleitung zu deren Handhabung.

Überblick über die Änderungen

Das Qt SerialBus Modul ist im Allgemeinen quellkompatibel mit der Qt 5 Version und Benutzer der Bibliothek sollten in der Lage sein, ohne oder mit nur geringen Änderungen an ihrem Projekt weiterzuarbeiten.

Build-System

Wie bei Qt 6 im Allgemeinen hat das Qt SerialBus Modul zusätzlich zu qmake auch CMake Unterstützung.

API-Änderungen

Qt CAN-Bus

Abschaffung von QCanBusFactoryV2

In Qt 6 wurde die QCanBusFactoryV2 entfernt und ist nicht mehr Teil der öffentlichen API. Stattdessen hat QCanBusFactory die zusätzliche Methode QCanBusFactory::availableDevices erhalten, die von Unterklassen von QCanBusFactory implementiert werden muss.

Änderungen an QCanBusDevice

QCanBusDevice erhielt die folgenden Änderungen:

  • setConfigurationParameter() und configurationParameter() verwenden nun den eindeutigen Typ ConfigurationKey statt int.
  • Die Funktionen resetController(), hasBusStatus() und busStatus() sind nun virtuelle Funktionen. In Qt 5 waren sie aus Gründen der Binärkompatibilität interne Callbacks.
  • Benutzerdefinierte Plugins, die eine der privaten API-Funktionen QCanBusDevice::createDeviceInfo() verwenden, benötigen kleine Anpassungen, da diese Funktionen nun den plugin Namen als ersten Parameter und leicht angepasste Parameterlisten haben.

Änderungen an QCanBusFrame

QCanBusFrame verwendet nun den eindeutigen Typ FrameId, der ein Typedef zu quint32 ist, so dass vorhandener Code weiterhin funktionieren sollte. Es wird jedoch empfohlen, beim Upgrade FrameId zu verwenden.

Qt Modbus

Umbenennung von QModbusRtuSerialMaster und QModbusRtuSerialSlave

Entsprechend der Empfehlung der Modbus-Organisation wurde die Klasse QModbusRtuSerialMaster in QModbusRtuSerialClient und die Klasse QModbusRtuSerialSlave in QModbusRtuSerialServer umbenannt. Es wird empfohlen, die neuen Klassennamen in neuem oder portiertem Code zu verwenden, um das Modbus-Namensschema einzuhalten.

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