En esta página

QCanBus Class

La clase QCanBus gestiona el registro y la creación de plugins de bus. Más...

Cabecera: #include <QCanBus>
CMake: find_package(Qt6 REQUIRED COMPONENTS SerialBus)
target_link_libraries(mytarget PRIVATE Qt6::SerialBus)
qmake: QT += serialbus
Hereda: QObject

Funciones Públicas

(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

Miembros públicos estáticos

QCanBus *instance()

Descripción Detallada

QCanBus carga plugins Qt CAN Bus en tiempo de ejecución. La propiedad de los plugins de bus serie se transfiere al cargador.

Documentación de la Función Miembro

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

Devuelve los dispositivos disponibles para todos los plugins, es decir, todas las interfaces CAN disponibles.

En caso de fallo, el parámetro opcional errorMessage devuelve una descripción textual del error.

Nota: Puede que algunos plugins no soporten esta función o sólo la soporten parcialmente.

Esta función se introdujo en Qt 6.8.

Véase también createDevice().

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

Devuelve las interfaces disponibles para plugin. En caso de fallo, el parámetro opcional errorMessage devuelve una descripción textual del error.

Nota: Es posible que algunos plugins no admitan esta función o sólo la admitan parcialmente.

Por ejemplo, la siguiente llamada devuelve una lista de todas las interfaces SocketCAN disponibles (que pueden utilizarse para createDevice()):

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

Véase también createDevice().

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

Crea un dispositivo de bus CAN. plugin es el nombre del complemento devuelto por el método plugins(). interfaceName es el nombre de la interfaz de bus CAN. En caso de fallo, el parámetro opcional errorMessage devuelve una descripción textual del error.

La propiedad del complemento devuelto se transfiere a la persona que realiza la llamada. Devuelve nullptr si no se encuentra ningún dispositivo adecuado.

Por ejemplo, la siguiente llamada se conectaría a la interfaz SocketCAN vcan0:

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

Nota: interfaceName depende del plugin. Consulte la documentación del plugin correspondiente para más información: CAN Bus Plugins. Para obtener una lista de interfaces disponibles, se puede utilizar availableDevices().

Véase también availableDevices().

[static] QCanBus *QCanBus::instance()

Devuelve un puntero a la clase QCanBus. El objeto se carga si es necesario. El objeto se carga si es necesario. QCanBus utiliza el patrón de diseño singleton.

QStringList QCanBus::plugins() const

Devuelve una lista de identificadores para todos los plugins cargados.

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