이 페이지에서

QBluetoothLocalDevice Class

QBluetoothLocalDevice 클래스를 사용하면 로컬 블루투스 장치에 접근할 수 있습니다. 더 보기...

헤더: #include <QBluetoothLocalDevice>
CMake: find_package(Qt6 REQUIRED COMPONENTS Bluetooth)
target_link_libraries(mytarget PRIVATE Qt6::Bluetooth)
qmake: QT += bluetooth
상속: QObject

공개 유형

enum Error { NoError, PairingError, MissingPermissionsError, UnknownError }
enum HostMode { HostPoweredOff, HostConnectable, HostDiscoverable, HostDiscoverableLimitedInquiry }
enum Pairing { Unpaired, Paired, AuthorizedPaired }

공개 함수

QBluetoothLocalDevice(QObject *parent = nullptr)
QBluetoothLocalDevice(const QBluetoothAddress &address, QObject *parent = 0)
virtual ~QBluetoothLocalDevice()
QBluetoothAddress address() const
QList<QBluetoothAddress> connectedDevices() const
QBluetoothLocalDevice::HostMode hostMode() const
bool isValid() const
QString name() const
QBluetoothLocalDevice::Pairing pairingStatus(const QBluetoothAddress &address) const
void powerOn()
void requestPairing(const QBluetoothAddress &address, QBluetoothLocalDevice::Pairing pairing)
void setHostMode(QBluetoothLocalDevice::HostMode mode)

신호

void deviceConnected(const QBluetoothAddress &address)
void deviceDisconnected(const QBluetoothAddress &address)
(since 6.2) void errorOccurred(QBluetoothLocalDevice::Error error)
void hostModeStateChanged(QBluetoothLocalDevice::HostMode state)
void pairingFinished(const QBluetoothAddress &address, QBluetoothLocalDevice::Pairing pairing)

정적 공용 멤버

QList<QBluetoothHostInfo> allDevices()

상세 설명

QBluetoothLocalDevice는 로컬 블루투스 장치의 상태를 가져오고 설정하는 기능을 제공합니다.

iOS에서는 플랫폼이 로컬 블루투스 장치에 대한 정보를 제공할 수 있는 데이터나 API를 노출하지 않으므로 이 클래스를 사용할 수 없습니다.

멤버 유형 문서

enum QBluetoothLocalDevice::Error

이 열거형은 반환될 수 있는 오류를 설명합니다

상수값설명
QBluetoothLocalDevice::NoError0알려진 오류 없음
QBluetoothLocalDevice::PairingError1페어링 오류
QBluetoothLocalDevice::MissingPermissionsError (since Qt 6.4)2운영 체제가 사용자에게 허용되지 않은 권한을 요청합니다.
QBluetoothLocalDevice::UnknownError100알 수 없는 오류

enum QBluetoothLocalDevice::HostMode

이 열거형은 대부분의 로컬 블루투스 장치를 설명합니다.

상수값설명
QBluetoothLocalDevice::HostPoweredOff0장치의 전원을 끕니다.
QBluetoothLocalDevice::HostConnectable1원격 블루투스 기기는 이전에 로컬 블루투스 기기와 페어링되었거나 해당 기기의 주소를 알고 있는 경우, 로컬 블루투스 기기에 연결할 수 있습니다. 이 경우 기기가 꺼져 있었다면 전원이 켜집니다.
QBluetoothLocalDevice::HostDiscoverable2원격 블루투스 기기는 로컬 블루투스 기기의 존재를 감지할 수 있습니다. 이때 기기는 연결 가능한 상태가 되며 전원이 켜집니다. Android에서는 이 모드가 최대 5분 동안만 활성화될 수 있습니다.
QBluetoothLocalDevice::HostDiscoverableLimitedInquiry3원격 블루투스 기기는 제한된 탐색(Limited Inquiry)을 수행할 때 로컬 블루투스 기기의 존재를 감지할 수 있습니다. 이 기능은 제한된 기간 동안만 감지 가능하도록 설정된 서비스를 찾는 데 사용해야 합니다. 제한된 탐색 모드가 아닌 기기에서는 서비스 탐색 단계를 건너뛸 수 있으므로, 게임 기기 간의 탐색 속도를 높일 수 있습니다. 이 모드에서 기기는 필요한 경우 연결 가능 상태이며 전원이 켜져 있습니다. 이 모드는 Android에서는 지원되지 않습니다.

참고: macOS에서는 ` hostMode()`를 설정할 수 없습니다. 보고되는 호스트 모드는 `HostPoweredOff` 및 `HostConnectable`로 제한됩니다.

참고: Windows에서는 hostMode()을 HostDiscoverable 또는 HostDiscoverableLimitedInquiry로 설정할 수 없습니다. 이러한 모드를 사용하는 것은 HostConnectable과 동일합니다.

참고: Android 13(API 레벨 33)부터 HostPoweredOff 상태는 공개 API가 더 이상 사용되지 않게 되어 비공개 Android API에 의존합니다. 자세한 내용은 (disable())을 참조하십시오. 이는 향후 Android 버전에서 변경될 수 있습니다.

참고: 적어도 Android 12에서는 기기의 블루투스 가시성 설정에 따라 HostDiscoverable 또는 HostConnectable 설정 결과가 달라질 수 있습니다. 예를 들어, 가시성이 꺼져 있는 경우 HostDiscoverable 모드로 전환할 수 없을 수 있으며, 대신 HostConnectable이 사용됩니다. 이는 향후 Android 버전에서 변경될 수 있습니다.

enum QBluetoothLocalDevice::Pairing

이 열거형은 두 블루투스 장치 간의 페어링 상태를 나타냅니다.

상수값설명
QBluetoothLocalDevice::Unpaired0블루투스 기기들이 페어링되어 있지 않습니다.
QBluetoothLocalDevice::Paired1블루투스 기기가 페어링되어 있습니다. 원격 기기가 로컬 기기에 연결을 시도하면 시스템이 사용자에게 인증을 요청합니다.
QBluetoothLocalDevice::AuthorizedPaired2블루투스 기기가 페어링되어 있습니다. 원격 기기가 로컬 기기에 연결을 시도할 때 시스템은 사용자에게 인증을 요청하지 않습니다.

멤버 함수 설명서

[explicit] QBluetoothLocalDevice::QBluetoothLocalDevice(QObject *parent = nullptr)

parent 을 사용하여 QBluetoothLocalDevice 객체를 생성합니다.

참고: Android 12(API 레벨 31)부터 이 클래스를 생성하려면 블루투스 런타임 권한 (BLUETOOTH_SCAN 및 BLUETOOTH_CONNECT)이 필요합니다. 권한이 부여되지 않은 경우, 해당 장치는 유효하지 않습니다.

isValid()도 참조하십시오 .

[explicit] QBluetoothLocalDevice::QBluetoothLocalDevice(const QBluetoothAddress &address, QObject *parent = 0)

address 에 대한 새로운 QBluetoothLocalDevice 객체를 생성합니다. address 가 기본 생성된 경우, 생성된 로컬 장치는 로컬 기본 장치를 선택합니다.

참고: Android 12(API 레벨 31)부터 이 클래스를 생성하려면 블루투스 런타임 권한 (BLUETOOTH_SCAN 및 BLUETOOTH_CONNECT)이 필요합니다. 권한이 부여되지 않은 경우, 해당 장치는 유효하지 않습니다.

isValid()도 참조하십시오 .

[virtual noexcept] QBluetoothLocalDevice::~QBluetoothLocalDevice()

QBluetoothLocalDevice 를 삭제합니다.

QBluetoothAddress QBluetoothLocalDevice::address() const

이 블루투스 장치의 MAC 주소를 반환합니다.

참고: Android의 경우 , Android 6.0부터 이 함수는 항상 상수 값 ` 02:00:00:00:00:00 `을 로컬 주소로 반환합니다. 기기의 로컬 MAC 주소에 대한 프로그래밍 방식의 접근 기능은 제거되었습니다.

[static] QList<QBluetoothHostInfo> QBluetoothLocalDevice::allDevices()

사용 가능한 모든 로컬 블루투스 장치 목록을 반환합니다. macOS에서는 “기본” 로컬 장치만 존재합니다.

QList<QBluetoothAddress> QBluetoothLocalDevice::connectedDevices() const

연결된 기기 목록을 반환합니다. 이 목록은 현재 페어링된 기기 목록과는 다릅니다.

Android 및 macOS에서는 연결된 기기 목록을 가져올 수 없습니다. 연결 및 연결 해제 변경 사항만 수신할 수 있습니다. 편의상 이 클래스는 인스턴스 생성 이후 모든 연결 및 연결 해제 이벤트를 모니터링하며, 이 함수를 호출할 때 현재 목록을 반환합니다. 따라서 인스턴스를 생성한 직후에는 이 함수가 빈 목록을 반환할 수도 있습니다.

deviceConnected() 및 deviceDisconnected()도 참조하십시오 .

[signal] void QBluetoothLocalDevice::deviceConnected(const QBluetoothAddress &address)

이 신호는 로컬 장치가 address 를 사용하여 원격 장치와 연결을 설정할 때 발생합니다.

deviceDisconnected() 및 connectedDevices()도 참조하십시오 .

[signal] void QBluetoothLocalDevice::deviceDisconnected(const QBluetoothAddress &address)

이 신호는 로컬 장치가 address 를 통해 원격 블루투스 장치와의 연결을 끊을 때 전송됩니다.

deviceConnected() 및 connectedDevices()도 참조하십시오 .

[signal, since 6.2] void QBluetoothLocalDevice::errorOccurred(QBluetoothLocalDevice::Error error)

페어링 중에 예외적인 error 가 발생하면 이 신호가 발생합니다.

이 기능은 Qt 6.2에서 도입되었습니다.

QBluetoothLocalDevice::HostMode QBluetoothLocalDevice::hostMode() const

이 로컬 블루투스 장치의 현재 호스트 모드를 반환합니다. macOS에서는 ‘ HostPoweredOff ’ 또는 ‘ HostConnectable ’ 중 하나입니다.

setHostMode()도 참조하십시오 .

[signal] void QBluetoothLocalDevice::hostModeStateChanged(QBluetoothLocalDevice::HostMode state)

호스트의 state 이 HostMode 로 이전되었습니다.

bool QBluetoothLocalDevice::isValid() const

QBluetoothLocalDevice 가 사용 가능한 로컬 블루투스 장치를 나타내는 경우 true 를 반환하고, 그렇지 않은 경우 false를 반환합니다.

이 클래스의 인스턴스가 나타내는 로컬 블루투스 어댑터가 시스템에서 제거되면(예: 기본 블루투스 동글 제거), 이 인스턴스는 무효화됩니다. 이미 무효화된 QBluetoothLocalDevice 인스턴스는 동일한 블루투스 어댑터가 시스템에 다시 연결되더라도 계속 무효한 상태로 유지됩니다.

참고: Android 12(API 레벨 31)부터 이 클래스를 생성하려면 블루투스 런타임 권한 (BLUETOOTH_SCAN 및 BLUETOOTH_CONNECT)이 필요합니다. 권한이 부여되지 않으면 기기가 유효하지 않게 됩니다.

allDevices()도 참조하십시오 .

QString QBluetoothLocalDevice::name() const

사용자가 이 블루투스 기기에 지정한 이름을 반환합니다.

[signal] void QBluetoothLocalDevice::pairingFinished(const QBluetoothAddress &address, QBluetoothLocalDevice::Pairing pairing)

address 를 통해 페어링 또는 페어링 해제가 완료되었습니다. 현재 페어링 상태는 pairing 에 있습니다. 페어링 요청이 성공하지 못한 경우, 이 신호는 발생하지 않습니다. 페어링 요청이 실패하면 errorOccurred() 신호가 발생합니다. 이 신호는 현재 객체 인스턴스의 requestPairing()를 호출하여 이전에 요청된 페어링 요청에 대해서만 발생합니다.

QBluetoothLocalDevice::Pairing QBluetoothLocalDevice::pairingStatus(const QBluetoothAddress &address) const

address 의 현재 블루투스 페어링 상태(페어링되지 않음, 페어링됨, 또는 페어링 및 인증됨)를 반환합니다.

void QBluetoothLocalDevice::powerOn()

기기가 꺼져 있던 경우, ‘ hostMode()’ 상태로 되돌린 후 전원을 켭니다.

참고: 지원되는 플랫폼마다 보안 정책이 다르기때문에 , 이 메서드는 플랫폼에 따라 동작 방식이 다를 수 있습니다. 예를 들어, 시스템이 블루투스를 켜거나 끄기 전에 사용자에게 확인을 요청할 수 있습니다. macOS에서는 블루투스를 켜거나 끌 수 없습니다. 자세한 내용은 플랫폼별 블루투스 설명서를 참조하십시오.

void QBluetoothLocalDevice::requestPairing(const QBluetoothAddress &address, QBluetoothLocalDevice::Pairing pairing)

address 를 사용하여 ‘ pairing ’ 상태를 설정합니다. 결과는 pairingFinished() 신호를 통해 반환됩니다.

Android 및 macOS에서는 AuthorizedPaired 을 설정할 수 없으며, Paired와 동일한 동작을 보입니다. Windows에서는 정확한 페어링 모드 결정은 운영 체제에 달려 있습니다.

macOS에서는 기기의 페어링을 해제할 수 없습니다. Unpaired가 요청되면, 기기는 페어링된 상태를 유지하지만 pairingFinished() 신호가 즉시 발생합니다. 이전에 페어링이 해제된 기기에 대해 페어링을 다시 요청할 수 있습니다. 또한 AuthorizedPaired 는 Paired 와 동일한 동작을 보입니다.

주의: 페어링 설정에는 몇 분이 소요될 수 있으며, 사용자의 확인이 필요할 수 있습니다.

void QBluetoothLocalDevice::setHostMode(QBluetoothLocalDevice::HostMode mode)

이 로컬 블루투스 장치의 호스트 모드를 ‘ mode ’로 설정합니다.

장치의 전원을 켜거나 끄는 것과 같은 일부 전환 작업에는 시간이 다소 소요될 수 있습니다. 따라서 hostModeStateChanged() 신호가 이전 요청을 완료한 후에만 후속 호출을 수행해야 합니다. 이를 무시할 경우, 이러한 일련의 호출 결과는 정의되지 않을 수 있습니다.

참고: 지원되는 플랫폼마다 보안 정책이 다르기때문에 , 이 메서드는 플랫폼에 따라 동작이 다를 수 있습니다. 예를 들어, 시스템이 블루투스를 켜거나 끄기 전에 사용자에게 확인을 요청할 수 있으며, 모든 호스트 모드가 지원되지 않을 수도 있습니다. macOS에서는 hostMode()을 프로그래밍 방식으로 변경할 수 없습니다. 사용자는 시스템 환경설정에서만 블루투스를 켜거나 끌 수 있습니다. Windows에서는 사용자 확인이 필요할 수 있으므로 이 메서드는 UI 스레드에서 호출해야 합니다. 자세한 내용은 플랫폼별 블루투스 문서를 참조하십시오.

hostMode()도 참조하십시오 .

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