QOpcUaMonitoringParameters::EventFilter Class

class QOpcUaMonitoringParameters::EventFilter

为受监控项目定义事件过滤器。更多

公共函数

EventFilter(const QOpcUaMonitoringParameters::EventFilter &rhs)
QList<QOpcUaSimpleAttributeOperand> selectClauses() const
QList<QOpcUaSimpleAttributeOperand> &selectClausesRef()
void setSelectClauses(const QList<QOpcUaSimpleAttributeOperand> &selectClauses)
void setWhereClause(const QList<QOpcUaContentFilterElement> &whereClause)
QList<QOpcUaContentFilterElement> whereClause() const
QList<QOpcUaContentFilterElement> &whereClauseRef()
const QVariant operator const QVariant()
QOpcUaMonitoringParameters::EventFilter &operator<<(const QOpcUaContentFilterElement &whereClauseElement)
QOpcUaMonitoringParameters::EventFilter &operator<<(const QOpcUaSimpleAttributeOperand &selectClauseElement)
QOpcUaMonitoringParameters::EventFilter &operator=(const QOpcUaMonitoringParameters::EventFilter &rhs)
bool operator==(const QOpcUaMonitoringParameters::EventFilter &rhs) const

详细说明

事件过滤器用于监控服务器上的事件。它由select 子句和where 子句组成。

select 子句用于指定用户希望在事件发生时接收的数据。它包括QOpcUaSimpleAttributeOperand 简单属性操作数,用于选择事件类型子节点的属性,例如 BaseEventType 的 "Message "属性的值属性。

where 子句用于通过与特定条件匹配来限制报告的事件。通过几个运算符和四种不同的操作符类型,可以根据事件类型子节点的属性值进行筛选。

可以使用设置器或流操作符构建过滤器。将QOpcUaSimpleAttributeOperand 串流到事件过滤器中会给过滤器添加一个新的select 子句,QOpcUaContentFilterElement 会附加到where 子句中。内容过滤元素可以通过将QOpcUaLiteralOperandQOpcUaElementOperandQOpcUaAttributeOperandQOpcUaSimpleAttributeOperand 类型的操作符和操作符流式传输到内容过滤元素中来构建。只使用最后一个操作符,之前的操作符将被丢弃。

下面的 EventFilter 告诉服务器,如果事件的 "Severity(严重性)"字段的值大于等于 500,则报告 "Message(消息)"字段的值:

QOpcUaMonitoringParameters::EventFilter filter;
filter << QOpcUaSimpleAttributeOperand("Message"); // Select clause of the filter

QOpcUaContentFilterElement condition;
condition << QOpcUaContentFilterElement::FilterOperator::GreaterThanOrEqual;
condition << QOpcUaSimpleAttributeOperand("Severity");
condition << QOpcUaLiteralOperand(500, QOpcUa::Types::UInt16);
filter << condition; // Where clause of the filter

有关包含两个条件的更复杂示例,请参阅QOpcUaElementOperand

成员函数文档

EventFilter::EventFilter(const QOpcUaMonitoringParameters::EventFilter &rhs)

rhs 构建事件过滤器。

QList<QOpcUaSimpleAttributeOperand> EventFilter::selectClauses() const

返回报告新事件时应包含的选定事件字段。

另请参阅 setSelectClauses()。

QList<QOpcUaSimpleAttributeOperand> &EventFilter::selectClausesRef()

返回对 select 子句的引用。

void EventFilter::setSelectClauses(const QList<QOpcUaSimpleAttributeOperand> &selectClauses)

将选择子句设置为selectClauses

另请参阅 selectClauses() 。

void EventFilter::setWhereClause(const QList<QOpcUaContentFilterElement> &whereClause)

将 where 子句设置为whereClause

另请参阅 whereClause() 。

QList<QOpcUaContentFilterElement> EventFilter::whereClause() const

返回内容过滤器,用于将报告的事件限制为符合特定条件的事件。

另请参阅 setWhereClause()。

QList<QOpcUaContentFilterElement> &EventFilter::whereClauseRef()

返回对 where 子句的引用。

另请参阅 whereClause()。

const QVariant EventFilter::operator const QVariant()

将此事件过滤器转换为QVariant

QOpcUaMonitoringParameters::EventFilter &EventFilter::operator<<(const QOpcUaContentFilterElement &whereClauseElement)

将内容筛选器元素whereClauseElement 添加到此事件筛选器的 where 子句中。

QOpcUaMonitoringParameters::EventFilter &EventFilter::operator<<(const QOpcUaSimpleAttributeOperand &selectClauseElement)

将简单属性操作符selectClauseElement 添加到此内容过滤器元素的选择子句中。

QOpcUaMonitoringParameters::EventFilter &EventFilter::operator=(const QOpcUaMonitoringParameters::EventFilter &rhs)

在此事件过滤器中设置rhs 的值。

bool EventFilter::operator==(const QOpcUaMonitoringParameters::EventFilter &rhs) const

如果此事件过滤器的值与rhs 相同,则返回true

© 2025 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.