# QTproject **Repository Path**: nothing-stack/qtproject ## Basic Information - **Project Name**: QTproject - **Description**: 嵌入式QT上层应用常用设计框架。 - **Primary Language**: C++ - **License**: LGPL-3.0 - **Default Branch**: master - **Homepage**: https://gitee.com/nothing-stack/QTproject - **GVP Project**: No ## Statistics - **Stars**: 3 - **Forks**: 0 - **Created**: 2025-10-06 - **Last Updated**: 2026-01-07 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ## 🚀 快速开始 ### 环境要求 - **Qt版本**: QT5(5.15)(QT6 部分模组有兼容性和弃用问题) - **平台**: Embedded Linux / Desktop Linux - **构建工具**: qmake 或 CMake ### 构建步骤 ```bash # 克隆项目 git clone https://github.com/your-repo/qt-embedded-framework.git cd qt-embedded-framework # 整体构建 (使用qmake) mkdir build && cd build qmake .. make -j$(nproc) # 或单独构建特定项目 cd MusicPlay qmake && make # 使用CMake构建 (如果支持) mkdir build && cd build cmake .. make -j$(nproc) ``` ## 练手项目详解 ### ServerWebconnect - 多功能Web服务器系统 **完整的局域网直播服务系统**,BS架构设计,集成HTTP服务器、MJPEG流媒体和WebRTC信令服务。 **核心架构:** - **HTTP服务器** - Web界面和API服务 - **MJPEG服务器** - 实时视频流推送 - **WebRTC服务器** - P2P信令交换 - **屏幕录制模块** - FFmpeg高性能录制 - 增加RMTP推流和HTTP拉取功能 - 增加QT camera摄像头框架预览切换功能 ```cpp # 并发用户压力测试脚本--(可用于轻量级本地服务器高并发量数据交互调优练习) pip install aiohttp psutil pip install uvloop pip install async-timeout 执行 ./ScriptTool/server_rating_test.py //服务部署限制 # 提高文件描述符限制 ulimit -n 100000 # 提高系统连接队列 sudo sysctl -w net.core.somaxconn=65535 sudo sysctl -w net.ipv4.tcp_max_syn_backlog=65535 各并发级别性能测试结果: 并发数 | 成功率 | 吞吐量(req/s) | 平均响应(ms) | 总请求数 --------------------------------------------------------------------------- 1,000 | 100.0% | 4997 | 107.9 | 150,414 2,000 | 99.2% | 3958 | 150.5 | 120,357 5,000 | 93.1% | 2574 | 253.6 | 167,005 10,000 | 82.6% | 2090 | 309.7 | 153,039 ``` ![输入图片说明](GifFile/qtWebserver.gif) ### VideoPlay - QT5框架视频播放器 **完整的视频播放解决方案**,支持多种格式和自定义控制界面。 **核心功能:** - 多格式视频文件支持 (MP4, AVI, MKV等) - 自定义播放控制面板 - 播放进度控制与跳转 - 全屏播放模式切换 ![视频播放器](GifFile/videoplay.gif) ### 🚗 CarIDSystem - 百度云图像识别 **百度云AI API对接应用流程** **处理流程:** 1. **图像采集** → 摄像头或图片输入 2. **预处理优化** → 图像增强和格式转换 3. **云API调用** → 百度云AI车牌识别 4. **结果解析展示** → 识别结果可视化 ![车牌识别系统](GifFile/CarIDSystem_800px_15fps.gif) ### BluetoothApp - 蓝牙通信通用应用 **完整的蓝牙数据传输解决方案**,支持设备发现与文件传输。 **核心功能:** - 蓝牙设备扫描与发现 - 稳定数据传输 (RFCOMM协议) - 连接状态管理 - 数据传输支持 **嵌入式配置:** ```bash # 蓝牙驱动加载与配置 echo 1 > /sys/class/rfkill/rfkill0/state insmod /system/lib/modules/hci_uart.ko rtk_hciattach -n -s 115200 /dev/ttyS8 rtk_h5 & # RFCOMM通道建立 hciconfig hci0 piscan hciconfig hci0 noauth rfcomm watch hci0 & ``` ![蓝牙应用](GifFile/bluetooth.gif) ### WiFiConnect - WiFi连接管理 **基于ConnMan的WiFi连接解决方案**,支持多种加密方式和网络管理。 **特性:** - 网络扫描与连接管理 - WPA/WPA2/WEP加密支持 - 信号强度实时显示 - 网络配置管理 ![WiFi连接管理](GifFile/wificonnect.gif) ### QfontDemo - QT多国语言支持模组插件 支持动态语言切换。 **支持语言:** - 🇨🇳 中文简体/繁体 - 🇺🇸 英文 - 🇯🇵 日文 - 🇰🇷 韩文 - 可拓展其他语言 **使用流程:** ``` 包含模块头文件 m_languageCombo = new LanguageComboBox(this); //模组控件创建和使用 语言添加 initializeLanguages() //增加支持语言qm文件 detectSystemLanguage()//写入对应语言映射 资源文件中添加翻译的qm文件,即可使用。 ``` ![多语言支持](GifFile/Qfont.gif) ### 🎥 FFmpeg界面捕获及API常用流程 - **性能指标:** - 1080P @ 30fps 稳定录制 - H264/H265硬件编码支持 - 音频同步录制 - 实时截图拍照功能 - 增加模拟夜视模式,调整RGB32->Qimage,调整相关参数模拟。(常规是摄像头调参) **编码对比:** ![录屏工具](GifFile/record.gif) ![输入图片说明](GifFile/video_H264_1.png) ### PictureTool - **基于OpenCV API图像处理工具** **核心功能:** - **智能抠图** - 基于颜色阈值和边缘检测 - **对象提取** - 精确分离图像目标 - **图像裁剪** - 支持自定义尺寸比例 - **图像增强** - 亮度、对比度调整 **技术架构:** - OpenCV图像处理算法 - Qt图形界面框架 - 实时预览渲染 ![图像处理工具](GifFile/picturetool.gif) ### 🎵 MusicPlay - 音乐播放器 **仿网易云音乐界面框架设计流程** ![音乐播放器](GifFile/musicplay.gif) ### 📱 QMLandConnect - QML混编通信框架 **QML与C++前后端混编数据交互通信框架基础流程** **功能特性:** - 页面控件布局自定义 - 控件样式主题定制 - QML与C++数据绑定 - 信号槽通信机制 ![QML通信框架](GifFile/QMLconnect.gif) ### 🚗 CarDashboard - 车载仪表盘 **QT painter引擎与前端QML图形设计架构** 支持实时数据展示和动画效果。 ![车载仪表盘](GifFile/CarDashboard.gif) ## 🔧 开发环境配置 ### 基础依赖安装 **Ubuntu/Debian:** ```bash sudo apt-get update sudo apt-get install build-essential cmake pkg-config # Qt开发环境 sudo apt-get install qtbase5-dev qt5-qmake qtchooser qttools5-dev-tools # 多媒体支持 sudo apt-get install libqt5multimedia5-plugins qtmultimedia5-dev ``` ### 项目特定依赖 #### 多媒体项目依赖 ```bash # FFmpeg开发库 sudo apt-get install ffmpeg libavcodec-dev libavformat-dev \ libavutil-dev libswscale-dev libavdevice-dev # OpenCV (PictureTool需要) sudo apt-get install libopencv-dev libopencv-core-dev ``` #### 网络通信项目依赖 ```bash # 蓝牙开发库 sudo apt-get install bluez bluez-tools libbluetooth-dev # WiFi工具 sudo apt-get install connman-tools connman-dev # 网络请求库 sudo apt-get install libcurl4-openssl-dev ``` ### 嵌入式交叉编译配置 **Buildroot配置示例:** ```makefile BR2_PACKAGE_QT5=y BR2_PACKAGE_QT5BASE=y BR2_PACKAGE_QT5MULTIMEDIA=y BR2_PACKAGE_BLUEZ5_UTILS=y BR2_PACKAGE_FFMPEG=y BR2_PACKAGE_OPENCV3=y BR2_PACKAGE_CONNMAN=y ``` ## 📁 项目结构 ``` qt-embedded-framework/ ├── ServerWebconnect/ # BS服务器架构以及局域网录屏直播设计 ├── MusicPlay/ # 云音乐播放器QWidget框架设计 ├── VideoPlay/ # 视频播放器 ├── CarIDSystem/ # 云平台车牌识别系统 ├── BluetoothApp/ # 蓝牙通信APP应用 ├── WiFiConnect/ # WiFi连接APP应用 ├── QfontDemo/ # QT多国语言支持示例 ├── FFmpegRecorder/ # FFmpeg录屏工具 ├── PictureTool/ # OPENCV图像处理工具 ├── QMLandConnect/ # QML前后端通信项目 ├── CarDashboard/ # QML车载仪表盘 ├── docs/ # 开发文档 ├── scripts/ # 脚本文件 ├──├── gif_converter.sh # mp4转GIF脚本 ├──├── video_analyzer.sh # 编码视频性能分析脚本 ├── LICENSE # MIT许可证 └── README.md # 项目说明文档 ``` ## 🔨 开发指南 ### 代码规范 - 遵循Qt编码规范,使用信号槽机制进行对象通信 - 应用RAII原则管理资源,避免内存泄漏 - 优先使用智能指针进行内存管理 - 为公共接口和复杂算法添加详细注释 ### 调试技巧 ```bash # 启用Qt调试输出 export QT_LOGGING_RULES="*.debug=true" # 使用GDB调试 gdb --args ./YourApp # 内存泄漏检查 valgrind --leak-check=full ./YourApp ``` ## 参与贡献 欢迎各种形式的贡献,包括但不限于: 1. **问题反馈**: 提交[Issue](https://github.com/your-repo/qt-embedded-framework/issues)报告bug或建议新功能 2. **代码贡献**: - Fork本仓库 - 创建特性分支 (`git checkout -b feature/AmazingFeature`) - 提交更改 (`git commit -m 'Add some AmazingFeature'`) - 推送到分支 (`git push origin feature/AmazingFeature`) - 创建Pull Request 3. **文档改进**: 帮助完善文档、修复错别字或增加翻译 4. **测试反馈**: 在不同平台和设备上测试项目并提供反馈 ## 📄 许可证 本项目采用 **MIT许可证** - 详见 [LICENSE](LICENSE) 文件。 ## 联系与支持 - **邮箱**: black3071@163.com - **问题反馈**: [GitHub Issues](https://github.com/your-repo/qt-embedded-framework/issues) - **技术讨论**: [GitHub Discussions](https://github.com/your-repo/qt-embedded-framework/discussions) - **开发文档**: [项目Wiki](https://github.com/your-repo/qt-embedded-framework/wiki) --- ** 如果这些项目模组对您有帮助,请给一个Star!您的支持是我持续更新的动力。** **Happy Coding!** 🎉 *持续更新中... 更多精彩项目即将到来*