1. QT蓝牙开发环境搭建
在开始QT蓝牙开发之前,我们需要先准备好开发环境。我建议使用QT 5.15.2或更高版本,因为这个版本对蓝牙模块的支持比较完善。首先,在.pro项目文件中添加以下模块依赖:
cmake复制QT += core bluetooth widgets
这里有个坑我踩过:有些教程会建议只写QT += bluetooth,但在某些版本下这会报错找不到模块。正确的做法是同时包含core和widgets模块,因为它们通常是蓝牙应用的基础依赖。
安装完QT后,还需要确认系统蓝牙驱动是否正常。在Windows上,可以打开设备管理器查看蓝牙设备状态;在Linux上,可以使用hciconfig命令检查适配器。我遇到过一个问题:代码明明写对了,但就是扫描不到设备,最后发现是系统蓝牙服务没启动。在Linux下可以用这个命令检查:
bash复制sudo systemctl status bluetooth
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 蓝牙设备发现与管理
2.1 初始化本地蓝牙适配器
首先我们要获取本地蓝牙适配器的信息。QBluetoothLocalDevice类提供了这个功能:
cpp复制QBluetoothLocalDevice localDevice;
if(!localDevice.isValid()) {
qDebug() << "未找到可用的蓝牙适配器";
return;
}
// 开启蓝牙并设置为可被发现模式
localDevice.powerOn();
localDevice.setHostMode(QBluetoothLocalDevice::HostDiscoverable);
// 获取本地设备信息
QString deviceName = localDevice.name();
QBluetoothAddress address = localDevice.address();
这里有个实用技巧:在程序退出时,最好恢复蓝牙的原始状态。我习惯在析构函数中添加:
cpp复制localDevice.setHostMode(QBluetoothLocalDevice::HostConnectableOnly);
2.2 扫描周边设备
设备发现是蓝
