QGeoSatelliteInfoSource Class
QGeoSatelliteInfoSource 클래스는 위성 정보 업데이트를 배포하기 위한 추상 기본 클래스입니다. 더 보기...
| 헤더: | #include <QGeoSatelliteInfoSource> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS Positioning) target_link_libraries(mytarget PRIVATE Qt6::Positioning) |
| qmake: | QT += positioning |
| 상속: | QObject |
| 상속받는 클래스: |
공개 유형
| enum | Error { AccessError, ClosedError, NoError, UnknownSourceError, UpdateTimeoutError } |
속성
- minimumUpdateInterval : int
- updateInterval : int
공개 함수
| QGeoSatelliteInfoSource(QObject *parent) | |
| virtual | ~QGeoSatelliteInfoSource() |
(since 6.2) virtual QVariant | backendProperty(const QString &name) const |
| QBindable<int> | bindableUpdateInterval() |
| virtual QGeoSatelliteInfoSource::Error | error() const = 0 |
| virtual int | minimumUpdateInterval() const = 0 |
(since 6.2) virtual bool | setBackendProperty(const QString &name, const QVariant &value) |
| virtual void | setUpdateInterval(int msec) |
| QString | sourceName() const |
| int | updateInterval() const |
공개 슬롯
| virtual void | requestUpdate(int timeout = 0) = 0 |
| virtual void | startUpdates() = 0 |
| virtual void | stopUpdates() = 0 |
신호
| void | errorOccurred(QGeoSatelliteInfoSource::Error satelliteError) |
| void | satellitesInUseUpdated(const QList<QGeoSatelliteInfo> &satellites) |
| void | satellitesInViewUpdated(const QList<QGeoSatelliteInfo> &satellites) |
정적 공용 멤버
| QStringList | availableSources() |
| QGeoSatelliteInfoSource * | createDefaultSource(QObject *parent) |
(since Qt 5.14) QGeoSatelliteInfoSource * | createDefaultSource(const QVariantMap ¶meters, QObject *parent) |
| QGeoSatelliteInfoSource * | createSource(const QString &sourceName, QObject *parent) |
(since Qt 5.14) QGeoSatelliteInfoSource * | createSource(const QString &sourceName, const QVariantMap ¶meters, QObject *parent) |
상세 설명
정적 함수 ` QGeoSatelliteInfoSource::createDefaultSource()`은 사용 가능한 위성 데이터 소스가 있을 경우, 해당 플랫폼에 적합한 기본 위성 데이터 소스를 생성합니다. 그렇지 않은 경우, 사용 가능한 ` QGeoPositionInfoSourceFactory ` 플러그인 중에서 위성 데이터 소스를 제공하는 플러그인을 확인합니다.
startUpdates() 및 stopUpdates()을 호출하여 정기적인 업데이트를 시작 및 중지하거나, requestUpdate()을 호출하여 단일 업데이트를 요청할 수 있습니다. 업데이트가 이용 가능하면 satellitesInViewUpdated() 및/또는 satellitesInUseUpdated()이 발송됩니다.
정기적인 위성 업데이트가 필요한 경우, ` setUpdateInterval()`를 사용하여 이러한 업데이트가 발행될 빈도를 지정할 수 있습니다. 간격이 지정되지 않으면, 업데이트가 이용 가능할 때마다 제공됩니다. 예를 들어:
// Emit updates every 10 seconds if available
QGeoSatelliteInfoSource *source = QGeoSatelliteInfoSource::createDefaultSource(0);
if (source)
source->setUpdateInterval(10000);이전에 설정된 업데이트 간격을 제거하려면 setUpdateInterval()를 호출하고 값으로 0을 전달하십시오.
참고: 위성 소스에는 minimumUpdateInterval()이 반환하는 업데이트 간격에 대한 최소값 요구 사항이 있을 수 있습니다.
참고: Android 서비스에서 이 클래스를사용하려면 Android의Qt Positioning 를 참조하십시오.
멤버 유형 설명서
enum QGeoSatelliteInfoSource::Error
Error 열거형은 발생할 수 있는 오류를 나타냅니다.
| 상수 | 값 | 설명 |
|---|---|---|
QGeoSatelliteInfoSource::AccessError | 0 | 응용 프로그램에 필요한 권한이 부족하여 위성 백엔드와의 연결 설정에 실패했습니다. |
QGeoSatelliteInfoSource::ClosedError | 1 | 사용자가 위치 서비스를 끄는 경우 등, 위성 백엔드가 연결을 종료했습니다. 이 객체는 더 이상 유효하지 않으므로 삭제해야 합니다. 나중에 createDefaultSource()를 호출하여 새로운 위성 소스를 생성할 수 있습니다. |
QGeoSatelliteInfoSource::NoError | 2 | 오류가 발생하지 않았습니다. |
QGeoSatelliteInfoSource::UnknownSourceError | -1 | 알 수 없는 오류가 발생했습니다. |
QGeoSatelliteInfoSource::UpdateTimeoutError | 3 | 지정된 타임아웃 시간 내에 현재 위성 정보를 가져올 수 없었습니다. |
속성 문서
[read-only] minimumUpdateInterval : int
이 속성은 위성 업데이트를 가져오는 데 필요한 최소 시간(밀리초 단위)을 나타냅니다.
이는 setUpdateInterval() 및 requestUpdate() 함수가 허용하는 최소값입니다.
액세스 함수:
| virtual int | minimumUpdateInterval() const = 0 |
[bindable] updateInterval : int
참고: 이 속성은 QProperty 바인딩을 지원합니다.
이 속성은 각 업데이트 사이의 요청된 간격을 밀리초 단위로 저장합니다.
업데이트 간격이 설정되지 않았거나(또는 0으로 설정된 경우) 소스는 필요한 만큼 자주 업데이트를 제공합니다.
업데이트 간격이 설정된 경우, 소스는 요청된 간격에 최대한 근접한 간격으로 업데이트를 제공합니다. 요청된 간격이 minimumUpdateInterval()보다 짧은 경우, 대신 최소 간격이 사용됩니다.
업데이트 간격의 변경은 가능한 한 빨리 적용되지만, 변경에 소요되는 시간은 구현에 따라 다를 수 있습니다. 이전 간격부터 경과한 시간이 새로운 간격의 일부로 계산되는지 여부도 구현에 따라 다릅니다.
이 속성의 기본값은 0입니다.
참고: 하위 클래스 구현에서는 updateInterval()이 올바른 값을 반환하도록 setUpdateInterval()의 기본 구현을 호출해야 합니다.
액세스 함수:
| int | updateInterval() const |
| virtual void | setUpdateInterval(int msec) |
멤버 함수 문서
[explicit] QGeoSatelliteInfoSource::QGeoSatelliteInfoSource(QObject *parent)
지정된 parent 를 가진 위성 소스를 생성합니다.
[virtual noexcept] QGeoSatelliteInfoSource::~QGeoSatelliteInfoSource()
위성 소스를 파괴합니다.
[static] QStringList QGeoSatelliteInfoSource::availableSources()
사용 가능한 소스 플러그인 목록을 반환하며, 사용 가능한 경우 기본 시스템 백엔드도 포함됩니다.
[virtual, since 6.2] QVariant QGeoSatelliteInfoSource::backendProperty(const QString &name) const
name 라는 백엔드별 속성이 존재할 경우, 해당 속성의 값을 반환합니다. 그렇지 않은 경우 반환되는 값은 유효하지 않습니다.
이 함수는 Qt 6.2에서 도입되었습니다.
setBackendProperty도 참조하십시오 .
[static] QGeoSatelliteInfoSource *QGeoSatelliteInfoSource::createDefaultSource(QObject *parent)
지정된 위성 업데이트 소스( parent )를 사용하여 소스를 생성하고 반환하며, 이 소스는 시스템의 기본 위성 업데이트 정보 소스 또는 사용 가능한 플러그인 중 우선순위가 가장 높은 플러그인에서 데이터를 읽어옵니다.
시스템에 기본 위성 소스가 없거나, 유효한 플러그인을 찾을 수 없거나, 사용자가 위성 데이터에 액세스할 권한이 없는 경우 nullptr 를 반환합니다.
[static, since Qt 5.14] QGeoSatelliteInfoSource *QGeoSatelliteInfoSource::createDefaultSource(const QVariantMap ¶meters, QObject *parent)
지정된 위성 소스( parent )를 사용하여 시스템의 기본 위성 데이터 소스 또는 사용 가능한 우선순위가 가장 높은 플러그인에서 데이터를 읽어오는 위성 소스를 생성하여 반환합니다.
시스템에 기본 위성 소스가 없거나, 유효한 플러그인을 찾을 수 없거나, 사용자가 위성 정보에 액세스할 권한이 없는 경우 nullptr 를 반환합니다.
이 메서드는 소스를 구성하기 위해 parameters 를 팩토리에 전달합니다.
이 함수는 Qt 5.14에서 도입되었습니다.
[static] QGeoSatelliteInfoSource *QGeoSatelliteInfoSource::createSource(const QString &sourceName, QObject *parent)
sourceName 라는 플러그인을 불러와, 지정된 parent 를 가진 소스를 생성하여 반환합니다.
플러그인을 찾을 수 없는 경우 ` nullptr `를 반환합니다.
[static, since Qt 5.14] QGeoSatelliteInfoSource *QGeoSatelliteInfoSource::createSource(const QString &sourceName, const QVariantMap ¶meters, QObject *parent)
sourceName 라는 플러그인을 불러와, 지정된 parent 를 가진 위성 소스를 생성하고 반환합니다.
플러그인을 찾을 수 없는 경우 nullptr 를 반환합니다.
이 메서드는 소스를 구성하기 위해 parameters 를 팩토리에 전달합니다.
이 함수는 Qt 5.14에서 도입되었습니다.
[pure virtual] QGeoSatelliteInfoSource::Error QGeoSatelliteInfoSource::error() const
발생한 마지막 오류를 반환합니다.
참고: Qt6부터는 ` startUpdates()` 또는 ` requestUpdate()`를 호출할 때마다 마지막 오류는 항상 초기화됩니다.
[signal] void QGeoSatelliteInfoSource::errorOccurred(QGeoSatelliteInfoSource::Error satelliteError)
이 신호는 오류가 발생한 후에 전송됩니다. ‘ satelliteError ’ 매개변수는 발생한 오류의 유형을 나타냅니다.
[pure virtual slot] void QGeoSatelliteInfoSource::requestUpdate(int timeout = 0)
현재 위성 정보를 가져오려고 시도하고, 이 정보를 사용하여 satellitesInViewUpdated() 및 satellitesInUseUpdated() 신호를 발신합니다. 지정된 timeout (밀리초 단위) 내에 현재 위성 정보를 찾을 수 없거나, timeout 가 minimumUpdateInterval()에서 반환된 값보다 작은 경우, UpdateTimeoutError 를 포함한 errorOccurred() 신호가 발신됩니다.
타임아웃이 0인 경우, 타임아웃은 소스에 적합한 합리적인 시간으로 기본 설정됩니다.
다른 업데이트 요청이 진행 중일 경우 이 메서드는 아무 작업도 수행하지 않습니다. 그러나 startUpdates()이 이미 호출되어 정기적인 업데이트가 진행 중일 때도 이 메서드를 호출할 수 있습니다.
참고: Qt6부터 이 메서드는 위성 정보를 요청하기 전에 항상 마지막 오류를 NoError 로 재설정합니다.
참고: Android 서비스에서 이 메서드를 사용하는 방법을이해하려면 Android의Qt Positioning 를 참조하십시오.
[signal] void QGeoSatelliteInfoSource::satellitesInUseUpdated(const QList<QGeoSatelliteInfo> &satellites)
startUpdates() 또는 requestUpdate()가 호출되면, 현재 사용 중인 위성 수에 대한 업데이트가 있을 때 이 신호가 발생합니다.
이 위성들은 "위치 결정(fix)"을 얻는 데 사용되는 위성, 즉 현재 위치를 파악하는 데 사용되는 위성들입니다.
satellites 매개변수는 현재 사용 중인 위성들을 포함합니다.
[signal] void QGeoSatelliteInfoSource::satellitesInViewUpdated(const QList<QGeoSatelliteInfo> &satellites)
startUpdates() 또는 requestUpdate()가 호출되면, 현재 시야 내에 있는 위성에 대한 업데이트가 있을 때 이 신호가 발생합니다.
satellites 매개변수는 현재 시야 내에 있는 위성들을 저장합니다.
[virtual, since 6.2] bool QGeoSatelliteInfoSource::setBackendProperty(const QString &name, const QVariant &value)
name 라는 백엔드별 속성을 value 로 설정합니다. 성공 시 true 를 반환하고, 그렇지 않은 경우 false 를 반환합니다. 백엔드별 속성을 사용하면 런타임에 위성 정보 하위 시스템의 동작을 구성할 수 있습니다.
이 함수는 Qt 6.2에서 도입되었습니다.
backendProperty도 참조하십시오 .
QString QGeoSatelliteInfoSource::sourceName() const
현재 사용 중인 위성 소스 구현체의 고유 이름을 반환합니다.
이는 특정 위성 소스 구현체의 새 인스턴스를 생성하기 위해 ` createSource()`에 전달할 수 있는 이름과 동일합니다.
[pure virtual slot] void QGeoSatelliteInfoSource::startUpdates()
정기적인 간격으로 업데이트를 전송하기 시작합니다. 새로운 위성 정보가 제공될 때마다 업데이트가 제공됩니다.
위성 정보를 가져올 수 없거나 다른 형태의 타임아웃이 발생한 경우, 매개변수 목록이 비어 있는 상태로 satellitesInViewUpdated() 및 satellitesInUseUpdated() 신호가 발송될 수 있습니다.
참고: Qt6부터 이 메서드는 업데이트를 시작하기 전에 항상 마지막 오류를 NoError 로 재설정합니다.
참고: Android 서비스에서 이 메서드를 사용하는 방법을이해하려면 Android의Qt Positioning 를 참조하십시오.
satellitesInViewUpdated() 및 satellitesInUseUpdated()도 참조하십시오 .
[pure virtual slot] void QGeoSatelliteInfoSource::stopUpdates()
정기적인 간격으로 업데이트를 전송하지 않습니다.
© 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.