PySide6.QtMqtt.QMqttTopicFilter¶
- class QMqttTopicFilter¶
QMqttTopicFilter类表示一个 MQTT 主题过滤器。更多…概要¶
方法¶
def
__init__()def
filter()def
isValid()def
match()def
__ne__()def
setFilter()def
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)¶
- Parameters:
filter –
QLatin1String
使用指定的
filter创建一个新的MQTT主题过滤器。- __init__(filter)
- Parameters:
过滤器 –
QMqttTopicFilter
创建一个新的MQTT主题过滤器,作为
filter的副本。- __init__([filter=""])
- Parameters:
filter – 字符串
使用指定的
filter创建一个新的 MQTT 主题过滤器。- filter()¶
- Return type:
字符串
返回主题过滤器。
另请参阅
- isValid()¶
- Return type:
布尔
如果主题过滤器根据MQTT标准第4.7节有效,则返回
true,否则返回false。- match(name[, matchOptions=QMqttTopicFilter.MatchOption.NoMatchOption])¶
- Parameters:
name –
QMqttTopicNamematchOptions –
MatchOption的组合
- Return type:
布尔
如果主题过滤器匹配主题名称
name并遵循给定的matchOptions,则返回true,否则返回false。- __ne__(rhs)¶
- Parameters:
rhs –
QMqttTopicFilter- Return type:
布尔
如果主题过滤器
lhs和rhs不同,则返回true,否则返回false。- setFilter(filter)¶
- Parameters:
filter – 字符串
将主题过滤器设置为
filter。另请参阅
- Return type:
字符串
如果主题过滤器被指定为共享订阅,则返回共享的名称。共享订阅的格式定义为
$share/sharename/topicfilter。- swap(other)¶
- Parameters:
其他 –
QMqttTopicFilter
将此MQTT主题过滤器与
other交换。此操作非常快速且永远不会失败。