class QCanBus#

QCanBus 类处理总线插件的注册和创建。 更多

Inheritance diagram of PySide6.QtSerialBus.QCanBus

摘要#

方法#

静态函数#

注意

本文档可能包含从C++自动翻译成Python的代码片段。我们始终欢迎对代码片段翻译的贡献。如果您发现翻译有问题,也可以通过在https:/bugreports.qt.io/projects/PYSIDE创建工单的方式告诉我们。

详细说明#

QCanBus在运行时负载Qt CAN总线插件。串行总线插件的拥有权将转移到加载器。

availableDevices(plugin)#
参数::

plugin – 字符串

返回类型::

元组

返回plugin可用的接口。如果失败,可选参数errorMessage返回文本错误描述。

注意

一些插件可能不完全支持此功能。

例如,以下调用返回所有可用的SocketCAN接口(可用于createDevice()

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

也请参阅

createDevice()

该函数返回一个包含(设备列表,错误字符串)的元组。

createDevice(plugin, interfaceName)#
参数::
  • plugin – 字符串

  • interfaceName – 字符串

返回类型::

元组

创建一个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总线插件](#CAN公告插件)。要获取可用的接口列表,可以使用availableDevices()

也请参阅

availableDevices()

该函数返回一个包含(设备,错误字符串)的元组。

静态instance()#
返回类型::

QCanBus

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

plugins()#
返回类型::

字符串列表

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