QBluetoothDeviceInfo Class

The QBluetoothDeviceInfo class stores information about the Bluetooth device. 更多...

头: #include <QBluetoothDeviceInfo>
qmake: QT += bluetooth
Since: Qt 5.2

公共类型

enum CoreConfiguration { UnknownCoreConfiguration, BaseRateCoreConfiguration, BaseRateAndLowEnergyCoreConfiguration, LowEnergyCoreConfiguration }
flags CoreConfigurations
enum class Field { None, RSSI, ManufacturerData, All }
flags 字段
enum MajorDeviceClass { MiscellaneousDevice, ComputerDevice, PhoneDevice, NetworkDevice, AudioVideoDevice, …, UncategorizedDevice }
enum MinorAudioVideoClass { UncategorizedAudioVideoDevice, WearableHeadsetDevice, HandsFreeDevice, Microphone, Loudspeaker, …, GamingDevice }
enum MinorComputerClass { UncategorizedComputer, DesktopComputer, ServerComputer, LaptopComputer, HandheldClamShellComputer, …, WearableComputer }
enum MinorHealthClass { UncategorizedHealthDevice, HealthBloodPressureMonitor, HealthThermometer, HealthWeightScale, HealthGlucoseMeter, …, HealthStepCounter }
enum MinorImagingClass { UncategorizedImagingDevice, ImageDisplay, ImageCamera, ImageScanner, ImagePrinter }
enum MinorMiscellaneousClass { UncategorizedMiscellaneous }
enum MinorNetworkClass { NetworkFullService, NetworkLoadFactorOne, NetworkLoadFactorTwo, NetworkLoadFactorThree, NetworkLoadFactorFour, …, NetworkNoService }
enum MinorPeripheralClass { UncategorizedPeripheral, KeyboardPeripheral, PointingDevicePeripheral, KeyboardWithPointingDevicePeripheral, JoystickPeripheral, …, CardReaderPeripheral }
enum MinorPhoneClass { UncategorizedPhone, CellularPhone, CordlessPhone, SmartPhone, WiredModemOrVoiceGatewayPhone, CommonIsdnAccessPhone }
enum MinorToyClass { UncategorizedToy, ToyRobot, ToyVehicle, ToyDoll, ToyController, ToyGame }
enum MinorWearableClass { UncategorizedWearableDevice, WearableWristWatch, WearablePager, WearableJacket, WearableHelmet, WearableGlasses }
enum ServiceClass { NoService, PositioningService, NetworkingService, RenderingService, CapturingService, …, AllServices }
flags ServiceClasses

公共函数

  QBluetoothDeviceInfo (const QBluetoothDeviceInfo & other )
  QBluetoothDeviceInfo (const QBluetoothUuid & uuid , const QString & name , quint32 classOfDevice )
  QBluetoothDeviceInfo (const QBluetoothAddress & address , const QString & name , quint32 classOfDevice )
  QBluetoothDeviceInfo ()
QBluetoothDeviceInfo & operator= (const QBluetoothDeviceInfo & other )
  ~QBluetoothDeviceInfo ()
QBluetoothAddress address () const
QBluetoothDeviceInfo::CoreConfigurations coreConfigurations () const
QBluetoothUuid deviceUuid () const
bool isCached () const
bool isValid () const
QBluetoothDeviceInfo::MajorDeviceClass majorDeviceClass () const
QByteArray manufacturerData (quint16 manufacturerId ) const
QMultiHash<quint16, QByteArray> manufacturerData () const
QList<quint16> manufacturerIds () const
quint8 minorDeviceClass () const
QString name () const
qint16 rssi () const
QBluetoothDeviceInfo::ServiceClasses serviceClasses () const
QList<QBluetoothUuid> serviceUuids () const
void setCached (bool cached )
void setCoreConfigurations (QBluetoothDeviceInfo::CoreConfigurations coreConfigs )
void setDeviceUuid (const QBluetoothUuid & uuid )
bool setManufacturerData (quint16 manufacturerId , const QByteArray & data )
void setName (const QString & name )
void setRssi (qint16 signal )
void setServiceUuids (const QList<QBluetoothUuid> & uuids )
bool operator!= (const QBluetoothDeviceInfo & a , const QBluetoothDeviceInfo & b )
bool operator== (const QBluetoothDeviceInfo & a , const QBluetoothDeviceInfo & b )

详细描述

QBluetoothDeviceInfo provides information about a Bluetooth device's name, address and class of device.

成员类型文档编制

[since 5.4] enum QBluetoothDeviceInfo:: CoreConfiguration
flags QBluetoothDeviceInfo:: CoreConfigurations

This enum describes the configuration of the device.

常量 描述
QBluetoothDeviceInfo::UnknownCoreConfiguration 0x0 The type of the Bluetooth device cannot be determined.
QBluetoothDeviceInfo::BaseRateCoreConfiguration 0x02 The device is a standard Bluetooth device.
QBluetoothDeviceInfo::BaseRateAndLowEnergyCoreConfiguration 0x03 The device is a Bluetooth Smart device with support for standard and Low Energy device.
QBluetoothDeviceInfo::LowEnergyCoreConfiguration 0x01 The device is a Bluetooth Low Energy device.

该枚举在 Qt 5.4 引入或被修改。

The CoreConfigurations type is a typedef for QFlags <CoreConfiguration>. It stores an OR combination of CoreConfiguration values.

[since 5.12] enum class QBluetoothDeviceInfo:: Field
flags QBluetoothDeviceInfo:: 字段

This enum is used in conjuntion with the QBluetoothDeviceDiscoveryAgent::deviceUpdated () signal and indicates the field that changed.

常量 描述
QBluetoothDeviceInfo::Field::None 0x0000 None of the values changed.
QBluetoothDeviceInfo::Field::RSSI 0x0001 rssi () value of the device changed.
QBluetoothDeviceInfo::Field::ManufacturerData 0x0002 manufacturerData () field changed
QBluetoothDeviceInfo::Field::All 0x7fff Matches every possible field.

该枚举在 Qt 5.12 引入或被修改。

The Fields type is a typedef for QFlags <Field>. It stores an OR combination of Field values.

enum QBluetoothDeviceInfo:: MajorDeviceClass

This enum describes a Bluetooth device's major device class.

常量 描述
QBluetoothDeviceInfo::MiscellaneousDevice 0 A miscellaneous device.
QBluetoothDeviceInfo::ComputerDevice 1 A computer device or PDA.
QBluetoothDeviceInfo::PhoneDevice 2 A telephone device.
QBluetoothDeviceInfo::NetworkDevice 3 A device that provides access to a local area network (since Qt 5.13).
QBluetoothDeviceInfo::AudioVideoDevice 4 A device capable of playback or capture of audio and/or video.
QBluetoothDeviceInfo::PeripheralDevice 5 A peripheral device such as a keyboard, mouse, and so on.
QBluetoothDeviceInfo::ImagingDevice 6 An imaging device such as a display, printer, scanner or camera.
QBluetoothDeviceInfo::WearableDevice 7 A wearable device such as a watch or pager.
QBluetoothDeviceInfo::ToyDevice 8 A toy.
QBluetoothDeviceInfo::HealthDevice 9 A health reated device such as heart rate or temperature monitor.
QBluetoothDeviceInfo::UncategorizedDevice 31 A device that does not fit into any of the other device classes.

enum QBluetoothDeviceInfo:: MinorAudioVideoClass

This enum describes the minor device classes for audio/video devices.

常量 描述
QBluetoothDeviceInfo::UncategorizedAudioVideoDevice 0 An uncategorized audio/video device.
QBluetoothDeviceInfo::WearableHeadsetDevice 1 A wearable headset device.
QBluetoothDeviceInfo::HandsFreeDevice 2 A handsfree device.
QBluetoothDeviceInfo::Microphone 4 A microphone.
QBluetoothDeviceInfo::Loudspeaker 5 A loudspeaker.
QBluetoothDeviceInfo::Headphones 6 Headphones.
QBluetoothDeviceInfo::PortableAudioDevice 7 A portable audio device.
QBluetoothDeviceInfo::CarAudio 8 A car audio device.
QBluetoothDeviceInfo::SetTopBox 9 A settop box.
QBluetoothDeviceInfo::HiFiAudioDevice 10 A HiFi audio device.
QBluetoothDeviceInfo::Vcr 11 A video cassette recorder.
QBluetoothDeviceInfo::VideoCamera 12 A video camera.
QBluetoothDeviceInfo::Camcorder 13 A video camera.
QBluetoothDeviceInfo::VideoMonitor 14 A video monitor.
QBluetoothDeviceInfo::VideoDisplayAndLoudspeaker 15 A video display with built-in loudspeaker.
QBluetoothDeviceInfo::VideoConferencing 16 A video conferencing device.
QBluetoothDeviceInfo::GamingDevice 18 A gaming device.

enum QBluetoothDeviceInfo:: MinorComputerClass

This enum describes the minor device classes for computer devices.

常量 描述
QBluetoothDeviceInfo::UncategorizedComputer 0 An uncategorized computer device.
QBluetoothDeviceInfo::DesktopComputer 1 A desktop computer.
QBluetoothDeviceInfo::ServerComputer 2 A server computer.
QBluetoothDeviceInfo::LaptopComputer 3 A laptop computer.
QBluetoothDeviceInfo::HandheldClamShellComputer 4 A clamshell handheld computer or PDA.
QBluetoothDeviceInfo::HandheldComputer 5 A handheld computer or PDA.
QBluetoothDeviceInfo::WearableComputer 6 A wearable computer.

enum QBluetoothDeviceInfo:: MinorHealthClass

This enum describes the minor device classes for health devices.

常量 描述
QBluetoothDeviceInfo::UncategorizedHealthDevice 0 An uncategorized health device.
QBluetoothDeviceInfo::HealthBloodPressureMonitor 0x1 A blood pressure monitor.
QBluetoothDeviceInfo::HealthThermometer 0x2 A Thermometer.
QBluetoothDeviceInfo::HealthWeightScale 0x3 A scale.
QBluetoothDeviceInfo::HealthGlucoseMeter 0x4 A glucose meter.
QBluetoothDeviceInfo::HealthPulseOximeter 0x5 A blood oxygen saturation meter.
QBluetoothDeviceInfo::HealthDataDisplay 0x7 A data display.
QBluetoothDeviceInfo::HealthStepCounter 0x8 A pedometer.

enum QBluetoothDeviceInfo:: MinorImagingClass

This enum describes the minor device classes for imaging devices.

常量 描述
QBluetoothDeviceInfo::UncategorizedImagingDevice 0 An uncategorized imaging device.
QBluetoothDeviceInfo::ImageDisplay 0x04 A device capable of displaying images.
QBluetoothDeviceInfo::ImageCamera 0x08 A camera.
QBluetoothDeviceInfo::ImageScanner 0x10 An image scanner.
QBluetoothDeviceInfo::ImagePrinter 0x20 A printer.

enum QBluetoothDeviceInfo:: MinorMiscellaneousClass

This enum describes the minor device classes for miscellaneous Bluetooth devices.

常量 描述
QBluetoothDeviceInfo::UncategorizedMiscellaneous 0 An uncategorized miscellaneous device.

enum QBluetoothDeviceInfo:: MinorNetworkClass

This enum describes the minor device classes for local area network access devices. Local area network access devices use the minor device class to specify the current network utilization.

常量 描述
QBluetoothDeviceInfo::NetworkFullService 0x00 100% of the total bandwidth is available.
QBluetoothDeviceInfo::NetworkLoadFactorOne 0x08 0 - 17% of the total bandwidth is currently being used.
QBluetoothDeviceInfo::NetworkLoadFactorTwo 0x10 17 - 33% of the total bandwidth is currently being used.
QBluetoothDeviceInfo::NetworkLoadFactorThree 0x18 33 - 50% of the total bandwidth is currently being used.
QBluetoothDeviceInfo::NetworkLoadFactorFour 0x20 50 - 67% of the total bandwidth is currently being used.
QBluetoothDeviceInfo::NetworkLoadFactorFive 0x28 67 - 83% of the total bandwidth is currently being used.
QBluetoothDeviceInfo::NetworkLoadFactorSix 0x30 83 - 99% of the total bandwidth is currently being used.
QBluetoothDeviceInfo::NetworkNoService 0x38 No network service available.

enum QBluetoothDeviceInfo:: MinorPeripheralClass

This enum describes the minor device classes for peripheral devices.

常量 描述
QBluetoothDeviceInfo::UncategorizedPeripheral 0 An uncategorized peripheral device.
QBluetoothDeviceInfo::KeyboardPeripheral 0x10 键盘。
QBluetoothDeviceInfo::PointingDevicePeripheral 0x20 A pointing device, for example a mouse.
QBluetoothDeviceInfo::KeyboardWithPointingDevicePeripheral 0x30 A keyboard with built-in pointing device.
QBluetoothDeviceInfo::JoystickPeripheral 0x01 A joystick.
QBluetoothDeviceInfo::GamepadPeripheral 0x02 A game pad.
QBluetoothDeviceInfo::RemoteControlPeripheral 0x03 A remote control.
QBluetoothDeviceInfo::SensingDevicePeripheral 0x04 A sensing device.
QBluetoothDeviceInfo::DigitizerTabletPeripheral 0x05 A digitizer tablet peripheral.
QBluetoothDeviceInfo::CardReaderPeripheral 0x06 A card reader peripheral.

enum QBluetoothDeviceInfo:: MinorPhoneClass

This enum describes the minor device classes for phone devices.

常量 描述
QBluetoothDeviceInfo::UncategorizedPhone 0 An uncategorized phone device.
QBluetoothDeviceInfo::CellularPhone 1 A cellular phone.
QBluetoothDeviceInfo::CordlessPhone 2 A cordless phone.
QBluetoothDeviceInfo::SmartPhone 3 A smart phone.
QBluetoothDeviceInfo::WiredModemOrVoiceGatewayPhone 4 A wired modem or voice gateway.
QBluetoothDeviceInfo::CommonIsdnAccessPhone 5 A device that provides ISDN access.

enum QBluetoothDeviceInfo:: MinorToyClass

This enum describes the minor device classes for toy devices.

常量 描述
QBluetoothDeviceInfo::UncategorizedToy 0 An uncategorized toy.
QBluetoothDeviceInfo::ToyRobot 1 A toy robot.
QBluetoothDeviceInfo::ToyVehicle 2 A toy vehicle.
QBluetoothDeviceInfo::ToyDoll 3 A toy doll or action figure.
QBluetoothDeviceInfo::ToyController 4 A controller.
QBluetoothDeviceInfo::ToyGame 5 A game.

enum QBluetoothDeviceInfo:: MinorWearableClass

This enum describes the minor device classes for wearable devices.

常量 描述
QBluetoothDeviceInfo::UncategorizedWearableDevice 0 An uncategorized wearable device.
QBluetoothDeviceInfo::WearableWristWatch 1 A wristwatch.
QBluetoothDeviceInfo::WearablePager 2 A pager.
QBluetoothDeviceInfo::WearableJacket 3 A jacket.
QBluetoothDeviceInfo::WearableHelmet 4 A helmet.
QBluetoothDeviceInfo::WearableGlasses 5 A pair of glasses.

enum QBluetoothDeviceInfo:: ServiceClass
flags QBluetoothDeviceInfo:: ServiceClasses

This enum describes the service class of the Bluetooth device. The service class is used as a rudimentary form of service discovery. It is meant to provide a list of the types of services that the device might provide.

常量 描述
QBluetoothDeviceInfo::NoService 0x0000 The device does not provide any services.
QBluetoothDeviceInfo::PositioningService 0x0001 The device provides positioning services.
QBluetoothDeviceInfo::NetworkingService 0x0002 The device provides networking services.
QBluetoothDeviceInfo::RenderingService 0x0004 The device provides rendering services.
QBluetoothDeviceInfo::CapturingService 0x0008 The device provides capturing services.
QBluetoothDeviceInfo::ObjectTransferService 0x0010 The device provides object transfer services.
QBluetoothDeviceInfo::AudioService 0x0020 The device provides audio services.
QBluetoothDeviceInfo::TelephonyService 0x0040 The device provides telephony services.
QBluetoothDeviceInfo::InformationService 0x0080 The device provides information services.
QBluetoothDeviceInfo::AllServices 0x07ff The device provides services of all types.

The ServiceClasses type is a typedef for QFlags <ServiceClass>. It stores an OR combination of ServiceClass values.

成员函数文档编制

QBluetoothDeviceInfo:: QBluetoothDeviceInfo (const QBluetoothDeviceInfo & other )

Constructs a QBluetoothDeviceInfo that is a copy of other .

[since 5.5] QBluetoothDeviceInfo:: QBluetoothDeviceInfo (const QBluetoothUuid & uuid , const QString & name , quint32 classOfDevice )

Constructs a QBluetoothDeviceInfo object with unique uuid , device name name and the encoded class of device classOfDevice .

This constructor is required for Low Energy devices on macOS and iOS. CoreBluetooth API hides addresses and provides unique UUIDs to identify a device. This UUID is not the same thing as a service UUID and is required to work later with CoreBluetooth API and discovered devices.

该函数在 Qt 5.5 引入。

QBluetoothDeviceInfo:: QBluetoothDeviceInfo (const QBluetoothAddress & address , const QString & name , quint32 classOfDevice )

Constructs a QBluetoothDeviceInfo object with Bluetooth address address , device name name and the encoded class of device classOfDevice .

classOfDevice parameter is encoded in the following format

Bits Size 描述
0 - 1 2 Unused, set to 0.
2 - 7 6 Minor device class.
8 - 12 5 Major device class.
13 - 23 11 Service class.

QBluetoothDeviceInfo:: QBluetoothDeviceInfo ()

Constructs an invalid QBluetoothDeviceInfo object.

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

Makes a copy of the other 并将其赋值给此 QBluetoothDeviceInfo 对象。

QBluetoothDeviceInfo:: ~QBluetoothDeviceInfo ()

销毁 QBluetoothDeviceInfo .

QBluetoothAddress QBluetoothDeviceInfo:: address () const

Returns the address of the device.

注意: On iOS and macOS this address is invalid. Instead deviceUuid () should be used. Those two platforms do not expose Bluetooth addresses for found Bluetooth devices and utilize unique device identifiers.

另请参阅 deviceUuid ().

[since 5.4] QBluetoothDeviceInfo::CoreConfigurations QBluetoothDeviceInfo:: coreConfigurations () const

Returns the configuration of the device. If device configuration is not set, basic rate device configuration will be returned.

该函数在 Qt 5.4 引入。

另请参阅 setCoreConfigurations ().

[since 5.5] QBluetoothUuid QBluetoothDeviceInfo:: deviceUuid () const

Returns a unique identifier for a Bluetooth device without an address.

In general, this uuid is invalid on every platform but macOS and iOS. It is used as a workaround for those two platforms as they do not provide Bluetooth addresses for found Bluetooth Low Energy devices. Every other platform uses address () 代替。

该函数在 Qt 5.5 引入。

另请参阅 setDeviceUuid ().

bool QBluetoothDeviceInfo:: isCached () const

返回 true 若 QBluetoothDeviceInfo object is created from cached data.

bool QBluetoothDeviceInfo:: isValid () const

返回 true 若 QBluetoothDeviceInfo object is valid, otherwise returns false.

QBluetoothDeviceInfo::MajorDeviceClass QBluetoothDeviceInfo:: majorDeviceClass () const

Returns the major device class of the device.

[since 5.12] QByteArray QBluetoothDeviceInfo:: manufacturerData ( quint16 manufacturerId ) const

Returns the data associated with the given manufacturerId .

Manufacturer data is defined by the Supplement to the Bluetooth Core Specification and consists of two segments:

  • Manufacturer specific identifier code from the Assigned Numbers Company Identifiers document
  • Sequence of arbitrary data octets

The interpretation of the data octets is defined by the manufacturer specified by the company identifier.

注意: The remote device may provide multiple data entries per manufacturerId. This function only returns the first entry. If all entries are needed use manufacturerData () which returns a multi hash.

该函数在 Qt 5.12 引入。

另请参阅 manufacturerIds () 和 setManufacturerData ().

[since 5.12] QMultiHash < quint16 , QByteArray > QBluetoothDeviceInfo:: manufacturerData () const

Returns the complete set of all manufacturer data.

Some devices may provide multiple manufacturer data entries per manufacturer ID. An example might be a Bluetooth Low Energy device that sends a different manufacturer data via advertisement packets and scan response packets respectively. Therefore the returned hash table may have multiple entries per manufacturer ID or hash key.

该函数在 Qt 5.12 引入。

另请参阅 setManufacturerData .

[since 5.12] QList < quint16 > QBluetoothDeviceInfo:: manufacturerIds () const

Returns all manufacturer ids attached to this device information.

该函数在 Qt 5.12 引入。

另请参阅 manufacturerData () 和 setManufacturerData ().

quint8 QBluetoothDeviceInfo:: minorDeviceClass () const

Returns the minor device class of the device. The actual information is context dependent on the value of majorDeviceClass ().

另请参阅 MinorAudioVideoClass , MinorComputerClass , MinorHealthClass , MinorImagingClass , MinorMiscellaneousClass , MinorNetworkClass , MinorPeripheralClass , MinorPhoneClass , MinorToyClass ,和 MinorWearableClass .

QString QBluetoothDeviceInfo:: name () const

Returns the name assigned to the device.

另请参阅 setName ().

qint16 QBluetoothDeviceInfo:: rssi () const

Returns the signal strength when the device was last scanned

另请参阅 setRssi ().

QBluetoothDeviceInfo::ServiceClasses QBluetoothDeviceInfo:: serviceClasses () const

Returns the service class of the device.

[since 6.0] QList < QBluetoothUuid > QBluetoothDeviceInfo:: serviceUuids () const

Returns the list of service UUIDS supported by the device. Most commonly this list of uuids represents custom uuids or a uuid value specified by QBluetoothUuid::ServiceClassUuid .

该函数在 Qt 6.0 引入。

另请参阅 setServiceUuids () and serviceUuids().

void QBluetoothDeviceInfo:: setCached ( bool cached )

Used by the system to set the cached flag if the QBluetoothDeviceInfo is created from cached data. Cached information may not be as accurate as data read from an active device.

另请参阅 isCached ().

[since 5.4] void QBluetoothDeviceInfo:: setCoreConfigurations ( QBluetoothDeviceInfo::CoreConfigurations coreConfigs )

设置 CoreConfigurations 为设备到 coreConfigs . This will help to make a difference between regular and Low Energy devices.

该函数在 Qt 5.4 引入。

另请参阅 coreConfigurations ().

[since 5.5] void QBluetoothDeviceInfo:: setDeviceUuid (const QBluetoothUuid & uuid )

Sets the unique identifier uuid for Bluetooth devices, that do not have addresses. This happens on macOS and iOS, where the CoreBluetooth API hides addresses, but provides UUIDs to identify devices/peripherals.

This uuid is invalid on any other platform.

该函数在 Qt 5.5 引入。

另请参阅 deviceUuid ().

[since 5.12] bool QBluetoothDeviceInfo:: setManufacturerData ( quint16 manufacturerId , const QByteArray & data )

Sets the advertised manufacturer data 为给定 manufacturerId 。返回 true if it was inserted, false if it was already known.

Since Qt 5.14, different values for data and the same manufacturerId no longer replace each other but are accumulated for the duration of a device scan.

该函数在 Qt 5.12 引入。

另请参阅 manufacturerData .

[since 6.2] void QBluetoothDeviceInfo:: setName (const QString & name )

设置 name 为设备。

该函数在 Qt 6.2 引入。

另请参阅 name ().

void QBluetoothDeviceInfo:: setRssi ( qint16 signal )

设置 signal strength value, used internally.

另请参阅 rssi ().

[since 5.13] void QBluetoothDeviceInfo:: setServiceUuids (const QList < QBluetoothUuid > & uuids )

Sets the list of service UUIDs to uuids .

该函数在 Qt 5.13 引入。

另请参阅 serviceUuids ().

相关非成员

bool operator!= (const QBluetoothDeviceInfo & a , const QBluetoothDeviceInfo & b )

返回 true 若两 QBluetoothDeviceInfo 对象 a and b are not equal.

bool operator== (const QBluetoothDeviceInfo & a , const QBluetoothDeviceInfo & b )

返回 true 若两 QBluetoothDeviceInfo 对象 a and b 相等。