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 –
QMqttTopicName
matchOptions –
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
交换。此操作非常快速且永远不会失败。