PySide6.QtMqtt.QMqttTopicFilter

class QMqttTopicFilter

QMqttTopicFilter 类表示一个 MQTT 主题过滤器。更多

概要

方法

注意

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

详细描述

QMqttTopicFilter 是一个围绕 QString 的轻量级封装,为 MQTT 主题过滤器提供了一个表达性强的数据类型。除了具有强类型防止意外误用的好处外,QMqttTopicFilter 还提供了与主题过滤器相关的便捷函数,如 isValid()match()

例如,以下代码将无法编译,并防止两个过滤器可能无意且无意义的匹配,特别是如果变量名称不够表达性:

QMqttTopicFilter globalFilter{"foo/#"};
QMqttTopicFilter specificFilter{"foo/bar"};
if (globalFilter.match(specificFilter)) {
    //...
}

然而,可用性并未受到影响,因为以下代码片段按预期编译并运行:

QMqttTopicFilter globalFilter{"foo/#"};
if (globalFilter.match("foo/bar")) {
    //...
}

另请参阅

QMqttTopicName

class MatchOption

(继承 enum.Flag) 此枚举值保存主题过滤器的匹配选项。

常量

描述

QMqttTopicFilter.NoMatchOption

未设置匹配选项。

QMqttTopicFilter.WildcardsDontMatchDollarTopicMatchOption

过滤器开头的通配符不匹配以美元符号($)开头的主题名称。

__init__(filter)
Parameters:

filterQLatin1String

使用指定的filter创建一个新的MQTT主题过滤器。

__init__(filter)
Parameters:

过滤器QMqttTopicFilter

创建一个新的MQTT主题过滤器,作为filter的副本。

__init__([filter=""])
Parameters:

filter – 字符串

使用指定的 filter 创建一个新的 MQTT 主题过滤器。

filter()
Return type:

字符串

返回主题过滤器。

另请参阅

setFilter()

isValid()
Return type:

布尔

如果主题过滤器根据MQTT标准第4.7节有效,则返回true,否则返回false

match(name[, matchOptions=QMqttTopicFilter.MatchOption.NoMatchOption])
Parameters:
Return type:

布尔

如果主题过滤器匹配主题名称 name 并遵循给定的 matchOptions,则返回 true,否则返回 false

__ne__(rhs)
Parameters:

rhsQMqttTopicFilter

Return type:

布尔

如果主题过滤器 lhsrhs 不同,则返回 true,否则返回 false

setFilter(filter)
Parameters:

filter – 字符串

将主题过滤器设置为 filter

另请参阅

filter()

sharedSubscriptionName()
Return type:

字符串

如果主题过滤器被指定为共享订阅,则返回共享的名称。共享订阅的格式定义为$share/sharename/topicfilter

swap(other)
Parameters:

其他QMqttTopicFilter

将此MQTT主题过滤器与other交换。此操作非常快速且永远不会失败。