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