FileLine,基于 Qt 6 + QML 构建的跨平台文件传输与即时通讯工具

FileLine

项目地址:https://github.com/tanxuekiang/FileLine

https://gitcode.com/weixin_41447544/FileLine

基于 Qt 6 + QML 构建的跨平台文件传输与即时通讯工具,集成内网穿透能力,支持点对点文件收发、文件夹同步与文本聊天,主打轻量、高速、无公网 IP 也可跨网传输的桌面端文件交互方案。

核心功能

高速文件传输:点对点文件发送与接收,支持大文件传输与进度管控,配套文件夹同步管理能力

即时文本聊天:气泡式聊天界面,支持文本消息交互,与文件传输能力深度融合

内网穿透互通:内置 frp 0.65.0 客户端,无需公网 IP 即可实现跨网络、跨地域的设备互联与文件传输

多模块功能页:文件管理页、闪电快传页、聊天页,通过导航组件快速切换

统一视觉主题:全局样式统一定制,支持界面风格规范化管理

协议化通信:基于 JSON 封装通信协议,命令指令与文本消息分层处理

技术栈

桌面框架:Qt 6.11.1 (MinGW 64-bit)

UI 渲染:QML / Qt Quick

核心开发语言:C++ 17+

构建系统:CMake

内网穿透:frp 0.65.0 Windows 版本

国际化:Qt Linguist 简体中文翻译支持

辅助脚本:Python 工具脚本

项目结构

plaintext

FileLine/

├── .qtcreator/ # Qt Creator 项目配置

├── build/ # 编译输出目录

├── frp_0.65.0_windows_amd64/ # 内置 frp 内网穿透客户端

├── python/ # Python 辅助脚本

├── QML 界面层

│ ├── main.qml # 主窗口入口

│ ├── AppLogic.qml # 应用层业务逻辑

│ ├── ChatBubble.qml # 聊天气泡组件

│ ├── FilePage.qml # 文件管理页面

│ ├── LightningPage.qml # 闪电快传页面

│ ├── NavButton.qml # 导航按钮组件

│ └── Theme.qml # 全局主题样式

├── C++ 核心层

│ ├── main.cpp # 程序入口

│ ├── control.h/cpp # 主控模块,调度核心业务

│ ├── connectbridge.h/cpp # QML 与 C++ 交互桥接 / 网络连接桥

│ ├── action.h/cpp # 动作指令封装

│ ├── dealcmd.h/cpp # 通信命令解析与处理

│ ├── dealtext.h/cpp # 文本消息处理

│ ├── worker.h/cpp # 后台工作线程

│ ├── eye.h/cpp # 文件/目录监控模块

│ ├── makejson.h/cpp # JSON 协议封装工具

│ ├── folderhelper.h/cpp # 文件夹操作辅助工具

│ └── 文件传输模块

│ ├── filesender.h/cpp # 文件发送器

│ ├── filereceiver.h/cpp # 文件接收器

│ └── filesyncmanager.h/cpp # 文件同步管理器

├── AiTim_zh_CN.ts # 简体中文翻译文件

├── 提示词语模板.txt # 提示词模板文件

└── CMakeLists.txt # CMake 构建配置

环境要求

Qt 6.11.1 及以上版本(需安装 MinGW 64-bit 套件、Qt Quick 模块)

CMake 3.16+

Windows 10/11(当前内置 frp 为 Windows 版本,跨平台编译可自行替换对应系统 frp 二进制文件)

编译运行

方式一:Qt Creator 打开

克隆仓库

bash

git clone https://github.com/tanxuekiang/FileLine.git

cd FileLine

使用 Qt Creator 打开根目录下的 CMakeLists.txt

选择 Desktop Qt 6.11.1 MinGW 64-bit 构建套件

点击构建并运行,即可启动程序

方式二:命令行编译

bash

配置构建

cmake -B build -G "MinGW Makefiles" -DCMAKE_PREFIX_PATH=你的Qt安装路径

执行编译

cmake --build build

运行程序

cd build

./FileLine.exe

使用说明

  1. 局域网传输
    两台设备处于同一局域网下,启动程序后在快传页面输入对方 IP 即可建立连接,支持文件发送与文本聊天。
  2. 跨网传输(frp 内网穿透)
    自行准备 frp 服务端,配置好端口映射规则
    修改 frp_0.65.0_windows_amd64 目录内的 frpc 配置文件,填入服务端地址、端口与映射规则
    启动 frp 客户端后,即可通过公网地址实现跨网文件传输
  3. 文件同步
    在文件管理页选择本地文件夹,开启同步后可与对端设备保持目录内容一致,支持目录变更自动监控。
    目录说明
    frp_0.65.0_windows_amd64/:内网穿透客户端,可独立配置运行
    python/:存放辅助处理脚本,用于扩展工具能力
    build/:编译产物目录,可直接删除后重新编译
    AiTim_zh_CN.ts:Qt 翻译源文件,可使用 Qt Linguist 编辑更新
    开源说明
    本项目为开源学习项目,可用于个人学习、二次开发。内置 frp 组件遵循其原有开源协议。

相关推荐
无名猿7 小时前
手写一个线程池:任务队列、工作线程与停止顺序的三个设计点
c++·性能优化·并发编程·现代c++
miofly7 小时前
Cohere推出North 2平台,主打企业AI代理可控部署
开源·github
扶尔魔ocy7 小时前
【qt openGL入门笔记】FPS相机
qt·opengl
ClickHouseDB7 小时前
AI 工程闭环的自动化趋势与质量把控边界
大数据·人工智能
longlongzihan7 小时前
LeetCode 128. 最长连续序列 —— 从排序到哈希集合
数据结构·c++·算法·leetcode·排序算法·哈希表
多弗朗皮卡丘7 小时前
C++多继承
开发语言·c++·多继承
miofly7 小时前
EmbeddingGemma 2:740M 参数的多模态嵌入模型,支持本地推理
人工智能
YOLO数据集集合7 小时前
桥梁损伤实例分割数据集 | 桥梁损伤 实例分割 裂缝检测 钢筋外露 混凝土剥落9160期
人工智能·目标检测·计算机视觉·桥梁·桥梁损害·桥梁数据集
DongQiShanRen7 小时前
裁决台账双向互校(下):台账哈希链、三向对账与最小落地
人工智能·深度学习·算法·目标跟踪·自然语言处理·rust·哈希算法
wflynn7 小时前
GitHub 日榜趋势速报 | 2026-10-04
开源·github