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에 포함되지 않습니다. 대신 QCanBusFactoryQCanBusFactory 의 서브클래스에서 구현해야 하는 추가 메서드 QCanBusFactory::availableDevices 를 얻었습니다.

QCanBusDevice의 변경 사항

QCanBusDevice 는 다음과 같이 변경되었습니다:

  • setConfigurationParameter() 및 configurationParameter()는 이제 int 대신 고유 유형 ConfigurationKey를 사용합니다.
  • resetController(), hasBusStatus(), busStatus() 함수는 이제 가상 함수입니다. 이 함수는 바이너리 호환성 때문에 Qt 5에서 내부 콜백이었습니다.
  • 비공개 API 함수 중 하나를 사용하는 커스텀 플러그인은 이제 이 함수에 plugin 이름이 첫 번째 파라미터로 지정되고 파라미터 목록이 약간 채택되었으므로 약간의 변경이 필요합니다.

QCanBusFrame의 변경 사항

QCanBusFrame 은 이제 quint32로 변환되는 FrameId 이라는 고유한 유형을 사용하므로 기존 코드가 계속 작동합니다. 어쨌든 업그레이드할 때는 FrameId 을 사용하는 것이 좋습니다.

Qt 모드버스

QModbusRtuSerialMaster 및 QModbusRtuSerialSlave의 이름 변경

모드버스 조직의 권고에 따라 QModbusRtuSerialMaster 클래스의 이름이 QModbusRtuSerialClient 으로, QModbusRtuSerialSlave 클래스의 이름이 QModbusRtuSerialServer 으로 변경되었습니다. 모드버스 명명 체계를 준수하기 위해 새 코드 또는 포팅된 코드에서 새 클래스 이름을 사용하는 것이 좋습니다.

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