本页内容

QCanMessageDescription Class

QCanMessageDescription 类描述了处理 CAN 消息并将其表示为应用程序定义格式的规则。更多内容...

头文件: #include <QCanMessageDescription>
CMake: find_package(Qt6 REQUIRED COMPONENTS SerialBus)
target_link_libraries(mytarget PRIVATE Qt6::SerialBus)
qmake: QT += serialbus
自: Qt 6.5
状态: 技术预览

该类处于技术预览阶段,内容可能会有变动。

公共函数

QCanMessageDescription()
QCanMessageDescription(const QCanMessageDescription &other)
QCanMessageDescription(QCanMessageDescription &&other)
~QCanMessageDescription()
void addSignalDescription(const QCanSignalDescription &description)
void clearSignalDescriptions()
QString comment() const
bool isValid() const
QString name() const
void setComment(const QString &text)
void setName(const QString &name)
void setSignalDescriptions(const QList<QCanSignalDescription> &descriptions)
void setSize(quint8 size)
void setTransmitter(const QString &transmitter)
void setUniqueId(QtCanBus::UniqueId id)
QCanSignalDescription signalDescriptionForName(const QString &name) const
QList<QCanSignalDescription> signalDescriptions() const
quint8 size() const
QString transmitter() const
QtCanBus::UniqueId uniqueId() const
QCanMessageDescription &operator=(QCanMessageDescription &&other)
QCanMessageDescription &operator=(const QCanMessageDescription &other)

详细说明

CAN 消息基本上是一个QCanBusFrame 。CAN 消息的描述包括以下内容:

  • 消息 ID。
  • 消息名称。
  • 消息长度(以字节为单位)。
  • 消息来源(发送方)。
  • 消息中信号的描述。

QCanMessageDescription 类提供了用于控制所有这些参数的方法。

消息 ID

消息 ID 是一个唯一的标识符,用于在解码传入的QCanBusFrame 或根据提供的数据编码QCanBusFrame 时,选择正确的消息描述。

有关唯一标识符描述的更多详细信息,请参阅QCanUniqueIdDescription 文档。

信号描述

信号描述由QCanSignalDescription 类表示。QCanMessageDescription 类仅提供属于该消息的信号列表。

另请参阅 QCanSignalDescription 和QCanUniqueIdDescription 。

成员函数文档

QCanMessageDescription::QCanMessageDescription()

创建一个空的消息描述。

QCanMessageDescription::QCanMessageDescription(const QCanMessageDescription &other)

使用从other 复制的值创建一条消息描述。

[constexpr noexcept default] QCanMessageDescription::QCanMessageDescription(QCanMessageDescription &&other)

通过从other 中移动数据来创建一条消息描述。

注意: 被移动自的 QCanMessageDescription对象 只能被销毁或进行赋值。调用除析构函数或赋值运算符以外的其他函数,其效果未定义。

[constexpr noexcept default] QCanMessageDescription::~QCanMessageDescription()

删除此消息描述。

void QCanMessageDescription::addSignalDescription(const QCanSignalDescription &description)

向该消息描述中添加一个新的信号描述:description 。

如果该消息描述中已存在同名信号的信号描述,则将其覆盖。

另请参阅 signalDescriptions()、signalDescriptionForName()、setSignalDescriptions() 以及clearSignalDescriptions()。

void QCanMessageDescription::clearSignalDescriptions()

清除该消息的所有信号描述。

另请参阅 signalDescriptions(),signalDescriptionForName(),addSignalDescription() 以及setSignalDescriptions()。

QString QCanMessageDescription::comment() const

返回该消息的注释。

此参数仅用于提供额外说明。在消息编码或解码过程中不会使用该参数。

另请参阅 setComment()。

bool QCanMessageDescription::isValid() const

当消息描述有效时,返回true ;否则返回false 。

有效的消息描述必须至少包含一个信号描述。所有信号描述也必须有效。

另请参阅 signalDescriptions() 和QCanSignalDescription::isValid()。

QString QCanMessageDescription::name() const

返回 CAN 消息的名称。

此参数仅用于补充说明,在消息编码或解码过程中不会被使用。

另请参阅 setName()。

void QCanMessageDescription::setComment(const QString &text)

将消息的注释设置为text 。

此参数仅用于提供额外说明,在消息编码或解码过程中不会被使用。

另请参阅 comment()。

void QCanMessageDescription::setName(const QString &name)

将 CAN 消息的名称设置为name 。

此参数仅用于补充说明,在消息编码或解码过程中不会被使用。

另请参阅 name()。

void QCanMessageDescription::setSignalDescriptions(const QList<QCanSignalDescription> &descriptions)

将属于此消息描述的信号描述设置为descriptions 。

注意:消息 描述必须包含具有唯一信号名称的信号描述,因此如果descriptions 列表中包含名称重复的条目,则仅添加最后一个条目。

另请参阅 signalDescriptions()、signalDescriptionForName()、addSignalDescription() 和clearSignalDescriptions()。

void QCanMessageDescription::setSize(quint8 size)

将CAN消息的大小(以字节为单位)设置为size 。

另请参阅 size()。

void QCanMessageDescription::setTransmitter(const QString &transmitter)

将消息的发送节点设置为transmitter 。

引入此参数仅用于补充说明。在消息编码或解码过程中不会使用它。

另请参阅 transmitter()。

void QCanMessageDescription::setUniqueId(QtCanBus::UniqueId id)

将 CAN 消息的唯一标识符设置为id 。

有关唯一标识符的更多信息,请参阅“Message ID ”一节。

另请参阅 uniqueId()。

QCanSignalDescription QCanMessageDescription::signalDescriptionForName(const QString &name) const

返回名称为name 的信号的信号描述。

如果消息描述中不存在该信号的描述,则返回一个通过默认构造生成的QCanSignalDescription 对象。

另请参阅 signalDescriptions()、addSignalDescription()、setSignalDescriptions() 和clearSignalDescriptions()。

QList<QCanSignalDescription> QCanMessageDescription::signalDescriptions() const

返回属于此消息描述的信号描述列表。

另请参阅 signalDescriptionForName(),addSignalDescription(),setSignalDescriptions() 以及clearSignalDescriptions()。

quint8 QCanMessageDescription::size() const

返回 CAN 消息的大小(以字节为单位)。

另请参阅 setSize()。

QString QCanMessageDescription::transmitter() const

返回消息的发送节点。

引入此参数仅用于补充说明。在消息编码或解码过程中不会使用它。

另请参阅 setTransmitter()。

QtCanBus::UniqueId QCanMessageDescription::uniqueId() const

返回 CAN 消息的唯一标识符。

有关唯一标识符的更多信息,请参阅Message ID 部分。

另请参阅 setUniqueId()。

[noexcept] QCanMessageDescription &QCanMessageDescription::operator=(QCanMessageDescription &&other)

将other 中的值通过移动赋值操作赋给此消息描述。

注意:被 移动源QCanMessageDescription 对象 只能被销毁或被赋值。调用除析构函数或赋值运算符以外的其他函数,其效果未定义。

QCanMessageDescription &QCanMessageDescription::operator=(const QCanMessageDescription &other)

将other 中的值赋给此消息描述。

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