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)#
参数:

filterQLatin1String

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

__init__(filter)
参数:

filterQMqttTopicFilter

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

__init__([filter=""])
参数:

filter – str

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

filter()#
返回类型:

str

获取主题过滤器。

另请参阅

setFilter()

isValid()#
返回类型:

bool

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

match(name[, matchOptions=QMqttTopicFilter.MatchOption.NoMatchOption])#
参数:
返回类型:

bool

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

__ne__(rhs)#
参数:

rhsQMqttTopicFilter

返回类型:

bool

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

setFilter(filter)#
参数:

filter – str

将主题过滤器设置为filter

另请参阅

filter()

sharedSubscriptionName()#
返回类型:

str

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

swap(other)#
参数:

otherQMqttTopicFilter

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