# Qt AIoT UI:DeepSeek对话+AI视觉+家居+天气+工控+电机 **Repository Path**: LM_WJ/QT ## Basic Information - **Project Name**: Qt AIoT UI:DeepSeek对话+AI视觉+家居+天气+工控+电机 - **Description**: 1、DeepSeek智能对话系统部署 2、AI视觉识别 3、智能家居控制中心 4、天气预报信息 5、工业智控平台 6、高精度电机工控平台 - **Primary Language**: C++ - **License**: GPL-3.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2025-08-16 - **Last Updated**: 2025-09-10 ## Categories & Tags **Categories**: Uncategorized **Tags**: Qt, JSON, Cpp ## README # Qt AIoT UI:DeepSeek对话+AI视觉+家居+天气+工控+电机 ## 介绍 1、DeepSeek智能对话系统部署 2、AI视觉识别 3、智能家居控制中心 4、天气预报信息 5、工业智控平台 6、高精度电机工控平台 ## 开发环境 Qt Creator 5.14 vofa+ Postman ScreenToGif iconfont-阿里巴巴矢量图标库 ## 项目框架 在一个 QWidget 里面使用 QStackedWidget 窗口容器 创建 QWidget 六个窗口,运行时会默认显示第一个窗口。 1. 通过点击 智能对话 按钮,切换到 智能对话 窗口。 2. 通过点击 视觉识别 按钮,切换到 视觉识别 窗口。 3. 通过点击 智能家居 按钮,切换到 智能家居 窗口。 4. 通过点击 天气预报 按钮,切换到 天气预报 窗口。 5. 通过点击 工控大屏 按钮,切换到 工控大屏 窗口。 6. 通过点击 电机控制 按钮,切换到 电机控制 窗口。 ## 窗口说明 1. ### 主窗口、智能对话 #### 主窗口 ​ 最上方中间使用 QLabel 显示一段字符,使用 QMouseEvent 鼠标事件类,鼠标点击切换下一个 QLabel。 ​ 最上方右上角使用 QLabel 显示关闭按钮,使用 QMouseEvent 鼠标事件类,鼠标进入范围,变成红色,鼠标点击变灰色,关闭整个Widget 。 ​ 左侧依次为 QLabel 显示的头像,六个窗口按钮,都使用 QLabel 显示,使用 QMouseEvent 鼠标事件类,鼠标点击切换到该窗口。 #### 智能对话 ​ AI 对话部署了 Deepseek AI,使用 DeepSeek Chat 接口的完整 URL,并使用 API Key 的访问密钥,实时与Deepseek AI 进行智能对话。 ​ 发送消息使用 json封装消息发送给Deepseek AI;接收到消息 解 json 得到需要的信息。 ​ 对话窗口使用 QScrollArea ,当消息过多时,自动滚动显示最新消息,也可手动调节。 ​ 左侧是 Deepseek AI 发送给我的消息,右侧是我发送给 Deepseek AI 的消息。 ​ 下方发送框使用 QTextEdit 点击发送,会发送给 Deepseek AI,并刷新对话窗口的消息。 ![输入图片说明](Qt_UI_%E7%95%8C%E9%9D%A2%E5%9B%BE%E7%89%87/%E6%99%BA%E8%83%BD%E5%AF%B9%E8%AF%9D.png) 2. ### 视觉识别 ​ 视觉识别部署了 百度云 的车牌识别、动物识别、人脸识别,使用HTTP 方法: `POST`,请求URL,并使用API Key 的访问密钥。 ​ 上传的图片必须使用 Base64 编码格式,收到的信息 解 json 后得到需要的数据。 ​ 识别结果会按格式,显示在 QLabel 的信息框中。 ![输入图片说明](Qt_UI_%E7%95%8C%E9%9D%A2%E5%9B%BE%E7%89%87/%E8%A7%86%E8%A7%89%E8%AF%86%E5%88%AB.png) 3. ### 智能家居 ​ 模拟居家智能中控台,上方为:归家和离家两个按钮互斥,起床和睡觉两个按钮互斥,4个按钮相应的家电也随着打开和关闭。还有日期和时间的显示。 ​ 中间为:使用 QMediaPlayer 和 QVideoWidget 播放视频并显示在窗口上,使用 QCamera 、QCameraViewfinder、QCameraImageCapture 控制摄像头打开关闭与显示。 ​ 下方为:左侧是单独按钮控制一个家电,右侧为:使用 QMediaPlayer、QMovie、QMediaPlaylist 创建音乐列表,选择音乐,播放音乐的播放器,GIF图也会随着音乐动起来。 ​ 通过网络获取音乐,歌词需要 解 json 后,经过与音乐时间匹配,才会显示歌词、歌名、歌手。 ![输入图片说明](Qt_UI_%E7%95%8C%E9%9D%A2%E5%9B%BE%E7%89%87/%E6%99%BA%E8%83%BD%E5%AE%B6%E5%B1%85.png) 4. ### 天气预报 通过输入的地区,与地区编码匹配后,将通过 网址+地区编码 的方式向互联网请求,地区7天的天气预报,得到的数据是 json ,专门写一个 解 天气预报的json 类,获取需要的数据。 使用QJsonObject、QJsonArray、QJsonDocument 解 json 类。 绘制7天高温曲线图类,使用 QPainterPath、QPen、QRect、QRegExp、QPainter 绘制。 绘制7天低温曲线图类,基本调用 绘制7天高温曲线图类,修改成低温。 ![输入图片说明](Qt_UI_%E7%95%8C%E9%9D%A2%E5%9B%BE%E7%89%87/%E5%A4%A9%E6%B0%94%E9%A2%84%E6%8A%A5.png) 5. ### 工控大屏 ​ 使用 QTcpSocket 建立客户端,将窗口里的所有按钮,按下的信息通过 tcp 发送给服务端,同时接收来自服务端的信息。 ![输入图片说明](Qt_UI_%E7%95%8C%E9%9D%A2%E5%9B%BE%E7%89%87/%E5%B7%A5%E6%8E%A7%E5%A4%A7%E5%B1%8F.png) ![输入图片说明](Qt_UI_%E7%95%8C%E9%9D%A2%E5%9B%BE%E7%89%87/%E5%B7%A5%E6%8E%A7%E5%A4%A7%E5%B1%8F%E4%B8%8ETCP%E9%80%9A%E8%AE%AF.png) 6. ### 电机控制 ​ 使用 QDial 创建两个旋钮开关,控制电机的速度和角度。 ​ 使用 QTcpSocket 建立客户端,将窗口里的所有按钮,按下的信息通过 tcp 发送给服务端,同时接收来自服务端的信息。 ![输入图片说明](Qt_UI_%E7%95%8C%E9%9D%A2%E5%9B%BE%E7%89%87/%E7%94%B5%E6%9C%BA%E6%8E%A7%E5%88%B6.png)