Qt for Android 蓝牙调用

本文介绍了如何在Qt for Android环境下进行蓝牙调用,包括QtOnAndroid.pro文件配置、UI设计、槽函数实现以及实际运行效果。通过Qt的蓝牙功能,实现了与Arduino开发板的数据交互,能够发送数据并接收返回信息。
摘要由CSDN通过智能技术生成

Qt部分

QtOnAndroid.pro文件配置

首先在.pro文件中加入

QT += bluetooth

如下图所示:
在这里插入图片描述

mainwindow.ui

在写逻辑之前,我们应该先把界面设计好,如下图所示:

上图中有三个按钮,分别是btn_bluetooth,btn_update,pushbutton(未用到)
一个QListWidget ,name为 listWidget。

mainwindow.h

下面我们需要添加qt关于蓝牙部分的头文件

#include <QBluetoothAddress>
#include <QBluetoothDeviceDiscoveryAgent>
#include <QBluetoothDeviceInfo>
#include <QBluetoothLocalDevice>
#include <QBluetoothSocket>

现在为整个蓝牙部分的运行添加一些槽函数

private slots:
  void on_btn_bluetooth_clicked();//开启蓝牙
  void findFinish();//搜索蓝牙设备结束
  void connectOK();//连接成功
  void connectNot();//连接失败
  void connectBLE(QListWidgetItem *);//连接指定蓝牙设备
  void addBlueToothDevicesToList(QBluetoothDeviceInfo info);//添加搜索到的蓝牙设备
  void on_btn_update_clicked();//搜索周围蓝牙设备

上面这些函数的作用看名字基本也就明白是什么意思了。

再添加一些成员

  QBluetoothDeviceDiscoveryAgent *discoveryAgent;
  QBluetoothLocalDevice *localDevice;
  QBluetoothSocket *socket;

这样,mainwindow.h中配置也就完成了。

mainwindow.cpp

在界面初始化函数中,我们先初始化好需要的类,并设置好信号与槽的关联。

//初始化蓝牙搜索类
  discoveryAgent = new QBluetoothDeviceDiscoveryAgent();
  //为本地蓝牙创建描述类
  localDevice = new QBluetoothLocalDevice();
  // 给socket分配内存,限定套接字协议
  socket = new QBluetoothSocket(QBluetoothServiceInfo::RfcommProtocol);
  //判断蓝牙是否开启,若开启则不可被选中并扫描周围蓝牙设备
  if (localDevice->hostMode() == QBluetoothLocalDevice::HostPoweredOff) {
   
    ui->btn_bluetooth->
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值