QOpcUaMonitoringParameters::EventFilter Class
class QOpcUaMonitoringParameters::EventFilter为受监控项定义一个 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() |
| 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”属性的value属性。
where 子句用于通过匹配特定条件来限制报告的事件。多种运算符和四种不同的操作数类型允许根据事件类型的子节点的属性值进行过滤。
可以使用 setter 或流式操作符构建过滤器。 将QOpcUaSimpleAttributeOperand 流式传输到事件过滤器中会向该过滤器添加一个新的select 子句,而QOpcUaContentFilterElement 则会作为补充附加到where 子句之后。可以通过将类型为QOpcUaLiteralOperand 、QOpcUaElementOperand 、QOpcUaAttributeOperand 和QOpcUaSimpleAttributeOperand 的操作数以及一个运算符流式传输到内容过滤器元素中来构建该元素。仅使用最后一个运算符,之前的运算符将被丢弃。
以下 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)
将select子句设置为selectClauses 。
另请参阅 selectClauses()。
void EventFilter::setWhereClause(const QList<QOpcUaContentFilterElement> &whereClause)
将 where 子句设置为whereClause 。
另请参阅 whereClause()。
QList<QOpcUaContentFilterElement> EventFilter::whereClause() const
返回用于将报告的事件限制为符合特定条件的事件的内容过滤器。
另请参阅 setWhereClause()。
QList<QOpcUaContentFilterElement> &EventFilter::whereClauseRef()
返回对 where 子句的引用。
另请参阅 ` whereClause()`。
EventFilter::operator const QVariant()
将此事件过滤器转换为QVariant 。
QOpcUaMonitoringParameters::EventFilter &EventFilter::operator<<(const QOpcUaContentFilterElement &whereClauseElement)
将内容过滤器元素whereClauseElement 添加到此事件过滤器的 where 子句中。
QOpcUaMonitoringParameters::EventFilter &EventFilter::operator<<(const QOpcUaSimpleAttributeOperand &selectClauseElement)
将简单属性操作数selectClauseElement 添加到此内容过滤器元素的 select 子句中。
QOpcUaMonitoringParameters::EventFilter &EventFilter::operator=(const QOpcUaMonitoringParameters::EventFilter &rhs)
在此事件过滤器中设置来自rhs 的值。
bool EventFilter::operator==(const QOpcUaMonitoringParameters::EventFilter &rhs) const
如果此事件过滤器的值与rhs 的值相同,则返回true 。
© 2026 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.