QGeoAreaMonitorInfo 类
QGeoAreaMonitorInfo 类描述了要监控接近性的区域或区域的参数。 更多信息...
头文件 | #include <QGeoAreaMonitorInfo> |
CMake | find_package(Qt6 REQUIRED COMPONENTS Positioning) target_link_libraries(mytarget PRIVATE Qt6::Positioning) |
qmake | QT += positioning |
- 所有成员列表,包括继承成员
- QGeoAreaMonitorInfo 是 隐式共享类 的一部分。
公共函数
QGeoAreaMonitorInfo(const QString &name = QString()) | |
QGeoAreaMonitorInfo(const QGeoAreaMonitorInfo &other) | |
(自 6.2) | QGeoAreaMonitorInfo(QGeoAreaMonitorInfo &&other) |
~QGeoAreaMonitorInfo() | |
QGeoShape | area() const |
QDateTime | expiration() const |
QString | identifier() const |
bool | isPersistent() const |
bool | isValid() const |
QString | name() const |
QVariantMap | notificationParameters() const |
void | setArea(const QGeoShape &newShape) |
void | setExpiration(const QDateTime &expiry) |
void | setName(const QString &name) |
void | setNotificationParameters(const QVariantMap ¶meters) |
void | setPersistent(bool isPersistent) |
QGeoAreaMonitorInfo & | operator=(const QGeoAreaMonitorInfo &other) |
(自 6.2) QGeoAreaMonitorInfo & | operator=(QGeoAreaMonitorInfo &&other) |
相关非成员
bool | operator!=(const QGeoAreaMonitorInfo &lhs, const QGeoAreaMonitorInfo &rhs) |
QDataStream & | operator<<(QDataStream &stream, const QGeoAreaMonitorInfo &monitor) |
bool | operator==(const QGeoAreaMonitorInfo &lhs, const QGeoAreaMonitorInfo &rhs) |
QDataStream & | operator>>(QDataStream &stream, QGeoAreaMonitorInfo &monitor) |
详细说明
区域监控的目的是在用户接近一个感兴趣的区域时向他/她发出通知。一般来说,这样的区域用QGeoCircle来描述。圆心代表感兴趣的地方,其周围的区域是发送通知的地理区域。
如果QGeoAreaMonitorInfo对象有一个非空的名称和有效的区域,则该对象是有效的。这些对象必须与QGeoAreaMonitorSource注册以启动和停止监控过程。请注意,广泛的监控非常消耗资源,因为定位引擎必须保持活跃,并且必须与每个QGeoAreaMonitorInfo实例匹配当前位置。
为减少对系统的影响,还有一些可选属性可以设置。每个监控区域都可以有一个到期日期,该日期到达后自动将该待监控区域从监控源中删除。另一个选项是调整监控区域的持久性。如果isPersistent(),则会将其保持活跃,超出当前应用程序的生命周期。如果在监控应用程序未运行时进入一个区域,应用程序将被启动。请注意,这个特性并非适用于所有平台。可以通过QGeoAreaMonitorSource::supportedAreaMonitorFeatures()检查其是否可用。
成员函数文档
[明确]
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 相关的事件,则相关的应用程序将重新启动,并触发适当的信号。
bool QGeoAreaMonitorInfo::isValid() const
如果监控有效,则返回 true。有效的 QGeoAreaMonitorInfo 具有非空的 name(),且监控区域不为空。否则,该函数返回 false。
QString QGeoAreaMonitorInfo::name() const
返回 QGeoAreaMonitorInfo 对象的名称。此名称应用于用户可见目的。
另见setName。
QVariantMap QGeoAreaMonitorInfo::notificationParameters() const
返回用于此 QGeoAreaMonitorInfo 的平台特定参数集合。
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 ¶meters)
设置由 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进行许可。