QCanBus Class

QCanBus 클래스는 버스 플러그인의 등록 및 생성을 처리합니다. 더 보기...

Header: #include <QCanBus>
CMake: find_package(Qt6 REQUIRED COMPONENTS SerialBus)
target_link_libraries(mytarget PRIVATE Qt6::SerialBus)
qmake: QT += serialbus
상속합니다: QObject

공용 함수

(since 6.8) QList<QCanBusDeviceInfo> availableDevices(QString *errorMessage = nullptr) const
QList<QCanBusDeviceInfo> availableDevices(const QString &plugin, QString *errorMessage = nullptr) const
QCanBusDevice *createDevice(const QString &plugin, const QString &interfaceName, QString *errorMessage = nullptr) const
QStringList plugins() const

정적 공용 멤버

QCanBus *instance()

상세 설명

QCanBus는 런타임에 Qt CAN 버스 플러그인을 로드합니다. 직렬 버스 플러그인의 소유권은 로더로 이전됩니다.

멤버 함수 문서

[since 6.8] QList<QCanBusDeviceInfo> QCanBus::availableDevices(QString *errorMessage = nullptr) const

모든 플러그인에서 사용 가능한 장치, 즉 사용 가능한 모든 CAN 인터페이스를 반환합니다.

실패할 경우 선택적 매개변수 errorMessage 는 텍스트 오류 설명을 반환합니다.

참고: 일부 플러그인은 이 함수를 지원하지 않거나 부분적으로만 지원할 수 있습니다.

이 함수는 Qt 6.8에 도입되었습니다.

createDevice()도 참조하세요 .

QList<QCanBusDeviceInfo> QCanBus::availableDevices(const QString &plugin, QString *errorMessage = nullptr) const

plugin 에 사용 가능한 인터페이스를 반환합니다. 실패할 경우 선택적 매개변수 errorMessage 는 텍스트 오류 설명을 반환합니다.

참고: 일부 플러그인은 이 기능을 지원하지 않거나 부분적으로만 지원할 수 있습니다.

예를 들어 다음 호출은 createDevice()에 사용할 수 있는 사용 가능한 모든 SocketCAN 인터페이스 목록을 반환합니다:

QString errorString;const QList<QCanBusDeviceInfo> devices = QCanBus::instance()->availableDevices(    QStringLiteral("socketcan"), &errorString);if (!errorString.isEmpty())    qDebug() << errorString;

createDevice()도 참조하세요 .

QCanBusDevice *QCanBus::createDevice(const QString &plugin, const QString &interfaceName, QString *errorMessage = nullptr) const

plugin plugins() 메서드에서 반환된 플러그인 이름입니다. 는 CAN 버스 인터페이스 이름입니다. 실패 시 선택적 매개변수 는 텍스트 오류 설명을 반환합니다. interfaceName errorMessage

반환된 플러그인의 소유권은 호출자에게 이전됩니다. 적합한 장치를 찾을 수 없는 경우 nullptr 을 반환합니다.

예를 들어, 다음 호출은 SocketCAN 인터페이스 vcan0에 연결합니다:

QString errorString;QCanBusDevice *device = QCanBus::instance()->createDevice(    QStringLiteral("소켓캔"), QStringLiteral("vcan0"), &errorString);if (!device)    qDebug() << errorString;
else device->connectDevice();

참고: interfaceName 는 플러그인에 따라 다릅니다. 자세한 내용은 해당 플러그인 설명서를 참조하세요: CAN 버스 플러그인. 사용 가능한 인터페이스 목록을 보려면 availableDevices()를 사용할 수 있습니다.

availableDevices()도 참조하세요 .

[static] QCanBus *QCanBus::instance()

QCanBus 클래스에 대한 포인터를 반환합니다. 필요한 경우 객체가 로드됩니다. QCanBus 싱글톤 디자인 패턴을 사용합니다.

QStringList QCanBus::plugins() const

로드된 모든 플러그인에 대한 식별자 목록을 반환합니다.

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