이 페이지에서

QCanBus Class

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

헤더: #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 는 오류에 대한 설명 텍스트를 반환합니다.

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

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

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

CAN 버스 장치를 생성합니다. ` plugin `는 ` plugins()` 메서드에서 반환된 플러그인 이름입니다. ` interfaceName `는 CAN 버스 인터페이스 이름입니다. 오류가 발생할 경우, 선택적 매개변수 ` errorMessage `는 오류에 대한 설명 문구를 반환합니다.

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

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

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

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

availableDevices()도 참조하십시오 .

[static] QCanBus *QCanBus::instance()

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

QStringList QCanBus::plugins() const

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

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