QCanBus类

QCanBus类负责处理总线插件的注册和创建。 更多信息...

头文件 #include <QCanBus>
CMakefind_package(Qt6 REQUIRED COMPONENTS SerialBus)
target_link_libraries(mytarget PRIVATE Qt6::SerialBus)
qmakeQT += serialbus
继承自 QObject

公共函数

QList<QCanBusDeviceInfo>availableDevices(const QString &plugin, QString *errorMessage = nullptr) const
QCanBusDevice *createDevice(const QString &plugin, const QString &interfaceName, QString *errorMessage = nullptr) const
QStringListplugins() const

静态公共成员

QCanBus *instance()

详细描述

QCanBus在运行时加载Qt CAN总线插件。串行总线插件的所有权转交给加载器。

成员函数文档

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 Bus 插件。要获取可用接口列表,可以使用 availableDevices()。

另请参阅:availableDevices

[静态] QCanBus *QCanBus::instance()

返回指向 QCanBus 类的指针。如果需要,将加载对象。QCanBus 使用单例设计模式。

QStringList QCanBus::plugins() const

返回所有已加载插件的标识符列表。

© 2024Qt公司。在此处包含的文档贡献归其各自所有者所有。所提供的文档根据自由软件基金会的GNU自由文档许可的第1.3版发布,许可证条款请见GNU自由文献许可版本1.3。Qt及其 respective标志是芬兰和/或其他国家的Qt公司在世界范围内的商标。所有其他商标均为其各自所有者的财产。