- class QMqttTopicFilter#
QMqttTopicFilter
类表示一个MQTT主题过滤器。 更多…摘要#
方法#
def
__init__()
def
filter()
def
isValid()
def
match()
def
__ne__()
def
setFilter()
定义
swap()
注释
本文档可能包含自动从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")) { //... }
另请参阅
- class MatchOption#
(继承自
enum.Flag
)此枚举值包含主题过滤器的匹配选项。常量
描述
QMqttTopicFilter.NoMatchOption
未设置匹配选项。
QMqttTopicFilter.WildcardsDontMatchDollarTopicMatchOption
过滤器开头的通配符不匹配以美元符号($)开始的主题名称。
- __init__(filter)#
- 参数:
filter –
QLatin1String
使用指定的
filter
创建一个新的MQTT主题过滤器。- __init__(filter)
- 参数:
filter –
QMqttTopicFilter
使用
filter
的副本创建一个新的MQTT主题过滤器。- __init__([filter=""])
- 参数:
filter – str
使用指定的
filter
创建一个新的MQTT主题过滤器。- filter()#
- 返回类型:
str
获取主题过滤器。
另请参阅
- isValid()#
- 返回类型:
bool
根据MQTT标准第4.7节,如果主题过滤器有效,则返回
true
;否则返回false
。- match(name[, matchOptions=QMqttTopicFilter.MatchOption.NoMatchOption])#
- 参数:
name –
QMqttTopicName
matchOptions – 组合
MatchOption
- 返回类型:
bool
如果主题过滤器遵守给定的
matchOptions
匹配主题名称name
,则返回true
;否则返回false
。- __ne__(rhs)#
- 参数:
rhs –
QMqttTopicFilter
- 返回类型:
bool
如果主题过滤器
lhs
和rhs
不同,则返回true
;否则返回false
。- setFilter(filter)#
- 参数:
filter – str
将主题过滤器设置为
filter
。另请参阅
- 返回类型:
str
如果主题过滤器被指定为共享订阅,则返回共享订阅的名称。共享订阅的格式定义为
$share/sharename/topicfilter
。- swap(other)#
- 参数:
other –
QMqttTopicFilter
将MQTT主题过滤器
other
与此MQTT主题过滤器交换。此操作非常快速且永远不会失败。