# QFlexiPlugin **Repository Path**: acuke/qflexi-plugin ## Basic Information - **Project Name**: QFlexiPlugin - **Description**: 项目简介 QFlexiPlugin Framework 是一个基于 Qt 5.12 + C++11 的插件化桌面应用框架。它实现了“一切皆插件”的核心架构,主程序仅提供插件管理、事件总线、多窗口容器等基础能力,所有业务功能均以独立插件形式动态加载。 框架专为工控上位机、数据采集系统、客户端聚合平台等需要高度模块化、可扩展的桌面软件设计,已在生产环境中稳定运行。 - **Primary Language**: Unknown - **License**: BSD-3-Clause - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2026-06-23 - **Last Updated**: 2026-06-23 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # QFlexiPlugin #### 介绍 项目简介 QFlexiPlugin Framework 是一个基于 Qt 5.12 + C++11 的插件化桌面应用框架。它实现了“一切皆插件”的核心架构,主程序仅提供插件管理、事件总线、多窗口容器等基础能力,所有业务功能均以独立插件形式动态加载。 框架专为工控上位机、数据采集系统、客户端聚合平台等需要高度模块化、可扩展的桌面软件设计,已在生产环境中稳定运行。 #### 软件架构 核心特性 特性 说明 🔌 真正的插件化 基于 QPluginLoader,支持热加载/卸载,插件独立编译部署 📡 事件总线 发布-订阅模式,跨 DLL 单例,异步分发,模块间完全解耦 🌐 多线程 TCP 服务端 QTcpServer + QThreadPool,支持高并发 JSON 数据接收 💾 异步 CSV 存储 生产者-消费者模型,无阻塞队列写入,适合高频数据落盘 🪟 仿 Windows MDI 多文档 QMdiArea 管理子窗口,支持最小化/最大化/关闭,固定大小不可拖动 🎨 动态换肤 QSS 样式表,运行时切换主题,控件样式即时刷新 🔐 权限控制 插件声明所需权限,主程序根据用户权限过滤加载 🛠️ 可视化工具 插件管理对话框(启用/禁用)、插件代码生成向导(自动创建插件模板) ⚙️ 配置持久化 插件启用状态、排序顺序保存为 INI 文件 #### 后续计划 插件依赖管理与自动排序 热更新(无需重启主程序) 支持 SQLite 数据库存储 集成 MQTT 协议插件 QML 现代化界面版本 ####项目结构 FlexiPlugin-Framework/ ├── FrameworkLib/ # 核心动态库(导出所有单例和服务) ├── MainApp/ # 主程序(含插件管理、MDI 容器) ├── Plugins/ # 插件目录 │ ├── ExamplePlugin/ # 示例插件 │ ├── DataDisplayPlugin/ # 数据显示插件(图表) │ └── ControlPanelPlugin/ # 控制面板插件 ├── Utils/ # 工具类(配置管理) └── Themes/ # QSS 主题文件 #### 致谢 Qt 社区 参考 QCPFrame 插件化思想 如果觉得这个项目对你有帮助,请点个 Star ⭐ 支持一下!