本页内容

QGeoAddress Class

QGeoAddress 类表示一个地理坐标(QGeoLocation )的地址。更多内容...

头文件: #include <QGeoAddress>
CMake: find_package(Qt6 REQUIRED COMPONENTS Positioning)
target_link_libraries(mytarget PRIVATE Qt6::Positioning)
qmake: QT += positioning

公共函数

QGeoAddress()
QGeoAddress(const QGeoAddress &other)
(since 6.2) QGeoAddress(QGeoAddress &&other)
~QGeoAddress()
QString city() const
void clear()
QString country() const
QString countryCode() const
QString county() const
QString district() const
bool isEmpty() const
bool isTextGenerated() const
QString postalCode() const
void setCity(const QString &city)
void setCountry(const QString &country)
void setCountryCode(const QString &countryCode)
void setCounty(const QString &county)
void setDistrict(const QString &district)
void setPostalCode(const QString &postalCode)
void setState(const QString &state)
void setStreet(const QString &street)
(since 6.2) void setStreetNumber(const QString &streetNumber)
void setText(const QString &text)
QString state() const
QString street() const
(since 6.2) QString streetNumber() const
(since 6.2) void swap(QGeoAddress &other)
QString text() const
(since 6.2) QGeoAddress &operator=(QGeoAddress &other)
QGeoAddress &operator=(const QGeoAddress &address)
size_t qHash(const QGeoAddress &address, size_t seed = 0)
bool operator!=(const QGeoAddress &lhs, const QGeoAddress &rhs)
bool operator==(const QGeoAddress &lhs, const QGeoAddress &rhs)

详细说明

该地址的属性已标准化为美国地名,并可映射到本地地物层级(例如,State 对应德国的“Bundesland”)。

该地址包含一个用于显示的text(),以及用于访问地址各组成部分的其他属性:

成员函数文档

QGeoAddress::QGeoAddress()

默认构造函数。

QGeoAddress::QGeoAddress(const QGeoAddress &other)

创建other 的副本。

[constexpr noexcept default, since 6.2] QGeoAddress::QGeoAddress(QGeoAddress &&other)

通过从other 移动数据,构建一个地理地址对象。

注意: 被移动来源的 QGeoAddress对象 只能被销毁或进行赋值。调用除析构函数或赋值运算符以外的其他函数,其行为未定义。

该函数于 Qt 6.2 中引入。

[noexcept] QGeoAddress::~QGeoAddress()

销毁该地址。

QString QGeoAddress::city() const

返回城市名称。

另请参阅 setCity()。

void QGeoAddress::clear()

清除该地址的所有数据字段。

QString QGeoAddress::country() const

返回国家名称。

另请参阅 setCountry()。

QString QGeoAddress::countryCode() const

根据 ISO 3166-1 alpha-3 标准返回国家代码

另请参阅 setCountryCode()。

QString QGeoAddress::county() const

返回县。县被视为次于国家的第二级行政区划。

另请参阅 setCounty()。

QString QGeoAddress::district() const

返回区。区被视为低于城市的行政区划。

另请参阅 setDistrict()。

bool QGeoAddress::isEmpty() const

返回该地址是否为空。如果地址的所有字段均为空,则该地址被视为空。

bool QGeoAddress::isTextGenerated() const

如果 `QGeoAddress::text()` 是根据地址元素自动生成的,则返回 `true`;否则,如果已显式赋值 `text()`,则返回 `false`。

另请参阅 text() 和setText()。

QString QGeoAddress::postalCode() const

返回邮政编码。

另请参阅 setPostalCode()。

void QGeoAddress::setCity(const QString &city)

设置city 。

另请参阅 city()。

void QGeoAddress::setCountry(const QString &country)

设置country 的名称。

另请参阅 country()。

void QGeoAddress::setCountryCode(const QString &countryCode)

根据 ISO 3166-1 alpha-3 标准设置 `countryCode `

另请参阅 countryCode()。

void QGeoAddress::setCounty(const QString &county)

设置county 。

另请参阅 county()。

void QGeoAddress::setDistrict(const QString &district)

设置district 。

另请参阅 district()。

void QGeoAddress::setPostalCode(const QString &postalCode)

设置postalCode 。

另请参阅 postalCode()。

void QGeoAddress::setState(const QString &state)

设置state 。

另请参阅 state()。

void QGeoAddress::setStreet(const QString &street)

将街道名称设置为street 。

注意:在 Qt6之前, 此处还可以包含单元号、楼名或其他任何可用于区分不同地址的信息。现在请使用 `setStreetNumber()` 来设置此数据。

另请参阅 street() 和setStreetNumber()。

[since 6.2] void QGeoAddress::setStreetNumber(const QString &streetNumber)

将门牌号设置为streetNumber 。

该字段还可能包含单元号、楼名或其他可用于区分不同地址的信息。

注意:在 Qt6之前, 此信息由setStreet() 方法设置。

该函数在 Qt 6.2 中引入。

另请参阅 streetNumber() 和setStreet()。

void QGeoAddress::setText(const QString &text)

如果 `text ` 不为空,则显式地将 `text ` 赋值为 `text()` 函数返回的字符串。此时,`isTextGenerated()` 将返回 false。

如果text 不为空,则表示应根据地址元素自动生成text()。isTextGenerated() 将返回 true。

另请参阅 text()。

QString QGeoAddress::state() const

返回该州。该州被视为国家以下的首个行政区划。

另请参阅 setState()。

QString QGeoAddress::street() const

返回街道名称。

注意:在 Qt6之前, 该参数还可能包含单元号、楼名或其他用于区分不同地址的信息。现在请使用 `streetNumber()` 获取此类数据。

另请参阅 setStreet() 和streetNumber()。

[since 6.2] QString QGeoAddress::streetNumber() const

返回门牌号。

该值还可能包含单元号、楼名或其他可用于区分不同地址的信息。

注意:在 Qt6之前 ,这些信息由 `street()` 方法返回。

该函数在 Qt 6.2 中引入。

另请参阅 setStreetNumber() 和street()。

[noexcept, since 6.2] void QGeoAddress::swap(QGeoAddress &other)

将该地址与other 互换。此操作速度极快,且绝不会失败。

该函数是在 Qt 6.2 中引入的。

QString QGeoAddress::text() const

将地址作为一条格式化的字符串返回。这是向用户显示地址时推荐使用的字符串。它通常采用信封上地址的格式,但也不一定总是如此。

地址文本可以是自动生成的,也可以是显式指定的。可通过检查isTextGenerated 来确定这一点。

如果向 `setText()` 提供空字符串,则 `isTextGenerated()` 将被设置为 `true `,而 `text()` 将返回一个字符串,该字符串根据 `countryCode()` 进行本地格式化,并基于地址的各个元素(如街道、城市等)生成。 由于文本字符串是由地址元素生成的,因此像 text()、setStreet()、text() 这样的调用序列,每次调用 text() 时可能会返回不同的字符串。

如果向setText() 提供了一个非空字符串,则isTextGenerated() 将被设置为false ,而 text() 将始终返回该显式赋值的字符串。对其他元素的修改调用(如setStreet()、setCity() 等)不会影响 text() 返回的字符串。

另请参阅 setText()。

[implicit, since 6.2] QGeoAddress &QGeoAddress::operator=(QGeoAddress &other)

将other 移动赋值到该地址,并返回对该地址的引用。

注意: 被移出的QGeoAddress 对象 只能被销毁或进行赋值。调用除析构函数或赋值运算符以外的其他函数,其效果未定义。

该函数于 Qt 6.2 中引入。

QGeoAddress &QGeoAddress::operator=(const QGeoAddress &address)

将给定的address 分配给该地址,并返回该地址的引用。

相关的非成员

[noexcept] size_t qHash(const QGeoAddress &address, size_t seed = 0)

返回address 的哈希值,计算时使用seed 。

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

如果lhs 的地址不等于rhs ,则返回true ;否则返回false 。

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

如果lhs 的地址等于rhs ,则返回true ;否则返回false 。

© 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.