QGeoAreaMonitorInfo 类

QGeoAreaMonitorInfo 类描述了要监控接近性的区域或区域的参数。 更多信息...

头文件 #include <QGeoAreaMonitorInfo>
CMakefind_package(Qt6 REQUIRED COMPONENTS Positioning)
target_link_libraries(mytarget PRIVATE Qt6::Positioning)
qmakeQT += positioning

公共函数

QGeoAreaMonitorInfo(const QString &name = QString())
QGeoAreaMonitorInfo(const QGeoAreaMonitorInfo &other)
(自 6.2) QGeoAreaMonitorInfo(QGeoAreaMonitorInfo &&other)
~QGeoAreaMonitorInfo()
QGeoShapearea() const
QDateTimeexpiration() const
QStringidentifier() const
boolisPersistent() const
boolisValid() const
QStringname() const
QVariantMapnotificationParameters() const
voidsetArea(const QGeoShape &newShape)
voidsetExpiration(const QDateTime &expiry)
voidsetName(const QString &name)
voidsetNotificationParameters(const QVariantMap &parameters)
voidsetPersistent(bool isPersistent)
QGeoAreaMonitorInfo &operator=(const QGeoAreaMonitorInfo &other)
(自 6.2) QGeoAreaMonitorInfo &operator=(QGeoAreaMonitorInfo &&other)
booloperator!=(const QGeoAreaMonitorInfo &lhs, const QGeoAreaMonitorInfo &rhs)
QDataStream &operator<<(QDataStream &stream, const QGeoAreaMonitorInfo &monitor)
booloperator==(const QGeoAreaMonitorInfo &lhs, const QGeoAreaMonitorInfo &rhs)
QDataStream &operator>>(QDataStream &stream, QGeoAreaMonitorInfo &monitor)

详细说明

区域监控的目的是在用户接近一个感兴趣的区域时向他/她发出通知。一般来说,这样的区域用QGeoCircle来描述。圆心代表感兴趣的地方,其周围的区域是发送通知的地理区域。

如果QGeoAreaMonitorInfo对象有一个非空的名称和有效的区域,则该对象是有效的。这些对象必须与QGeoAreaMonitorSource注册以启动和停止监控过程。请注意,广泛的监控非常消耗资源,因为定位引擎必须保持活跃,并且必须与每个QGeoAreaMonitorInfo实例匹配当前位置。

为减少对系统的影响,还有一些可选属性可以设置。每个监控区域都可以有一个到期日期,该日期到达后自动将该待监控区域从监控源中删除。另一个选项是调整监控区域的持久性。如果isPersistent(),则会将其保持活跃,超出当前应用程序的生命周期。如果在监控应用程序未运行时进入一个区域,应用程序将被启动。请注意,这个特性并非适用于所有平台。可以通过QGeoAreaMonitorSource::supportedAreaMonitorFeatures()检查其是否可用。

另请参阅QGeoAreaMonitorSource

成员函数文档

[明确] QGeoAreaMonitorInfo::QGeoAreaMonitorInfo(const QString &name = QString())

构建一个具有指定name的QGeoAreaMonitorInfo对象。

另请参阅name

QGeoAreaMonitorInfo::QGeoAreaMonitorInfo(const QGeoAreaMonitorInfo &other)

构建一个QGeoAreaMonitorInfo对象作为other的副本。

[noexcept, since 6.2] QGeoAreaMonitorInfo::QGeoAreaMonitorInfo(QGeoAreaMonitorInfo &&other)

other建立一个QGeoAreaMonitorInfo对象。

请注意,移动掉的QGeoAreaMonitorInfo只能被销毁或赋予。调用非析构函数或赋值运算符之一以外的函数的效果是未定义的。

此功能自Qt 6.2引入。

[noexcept] QGeoAreaMonitorInfo::~QGeoAreaMonitorInfo()

析构函数

QGeoShape QGeoAreaMonitorInfo::area() const

返回要监控区域的范围。此区域不能为空。

另请参阅setArea

QDateTime QGeoAreaMonitorInfo::expiration() const

返回到期日期。

在活动QGeoAreaMonitorInfo到期后,该区域不再被监控,QGeoAreaMonitorInfo对象也将从活动监控器列表中删除。

如果过期时间 QDateTime 无效,则 QGeoAreaMonitorInfo 对象被视为没有过期日期。这意味着,如果对象是持久的,则无限期监控;如果对象是非持久的,则监控到当前应用程序关闭。

另见setExpiration() 和 QGeoAreaMonitorSource::activeMonitors

QString QGeoAreaMonitorInfo::identifier() const

返回 QGeoAreaMonitorInfo 对象的标识符。标识符在新创建 QGeoAreaMonitorInfo 对象时自动生成。

bool QGeoAreaMonitorInfo::isPersistent() const

如果 QGeoAreaMonitorInfo 是持久的,则返回 true。此属性的默认值为 false。

非持久性 QGeoAreaMonitorInfo 将在拥有监控对象的应用程序停止时被系统删除。持久对象将保持活动状态,并在应用程序重新启动后可检索。

如果系统触发与持久 QGeoAreaMonitorInfo 相关的事件,则相关的应用程序将重新启动,并触发适当的信号。

另见setPersistent

bool QGeoAreaMonitorInfo::isValid() const

如果监控有效,则返回 true。有效的 QGeoAreaMonitorInfo 具有非空的 name(),且监控区域不为空。否则,该函数返回 false。

QString QGeoAreaMonitorInfo::name() const

返回 QGeoAreaMonitorInfo 对象的名称。此名称应用于用户可见目的。

另见setName

QVariantMap QGeoAreaMonitorInfo::notificationParameters() const

返回用于此 QGeoAreaMonitorInfo 的平台特定参数集合。

另见setNotificationParameters

void QGeoAreaMonitorInfo::setArea(const QGeoShape &newShape)

将待监控区域设置为 newShape

另见area

void QGeoAreaMonitorInfo::setExpiration(const QDateTime &expiry)

将过期日期和时间设置为 expiry

另见expiration

void QGeoAreaMonitorInfo::setName(const QString &name)

设置用户可见的 name

另请参阅name

void QGeoAreaMonitorInfo::setNotificationParameters(const QVariantMap &parameters)

设置由 QGeoAreaMonitorInfo 使用的平台特定 parameters 集合。

另请参阅 notificationParameters()。

void QGeoAreaMonitorInfo::setPersistent(bool isPersistent)

设置 QGeoAreaMonitorInfo 对象的持久性为 isPersistent

注意,设置此标志并不意味着 QGeoAreaMonitorSource 支持持久监控。QGeoAreaMonitorSource::supportedAreaMonitorFeatures() 可用于检查此功能的可用性。

另请参阅 isPersistent()。

QGeoAreaMonitorInfo &QGeoAreaMonitorInfo::operator=(const QGeoAreaMonitorInfo &other)

other 赋值给此 QGeoAreaMonitorInfo 对象,并返回对此 QGeoAreaMonitorInfo 对象的引用。

[noexcept, since 6.2] QGeoAreaMonitorInfo &QGeoAreaMonitorInfo::operator=(QGeoAreaMonitorInfo &&other)

移动赋值 other 到此 QGeoAreaMonitorInfo 对象,并返回对此 QGeoAreaMonitorInfo 对象的引用。

注意,移动转出 QGeoAreaMonitorInfo 后只能被销毁或赋值。调用析构函数或任何其他函数的副作用是未定义的。

此功能自Qt 6.2引入。

相关非成员函数

bool operator!=(const QGeoAreaMonitorInfo &lhs, const QGeoAreaMonitorInfo &rhs)

如果 lhs 对象的任何值与 rhs 对象的不相同,则返回 true。否则返回 false

QDataStream &operator<<(QDataStream &stream, const QGeoAreaMonitorInfo &monitor)

将给定的 monitor 写入指定的 stream

另请参阅 序列化 Qt 数据类型

bool operator==(const QGeoAreaMonitorInfo &lhs, const QGeoAreaMonitorInfo &rhs)

如果 lhs 对象的所有值与 rhs 对象的相同,则返回 true。否则返回 false

QDataStream &operator>>(QDataStream &stream, QGeoAreaMonitorInfo &monitor)

从指定的 stream 读取区域监控数据到给定的 monitor

另请参阅 序列化 Qt 数据类型

© 2024 Qt公司有限公司。本文件中包含的文档贡献归各自所有者所有版权。本文件提供的文档按照免费软件开发基金会发布的GNU自由文档许可协议版本1.3进行许可。