字
字节笔记本
2026年2月22日
flutter_desktop_test:Flutter Desktop 桌面端开发完整学习项目
本文介绍 flutter_desktop_test,一个专注于 Flutter Desktop 开发的完整学习项目。该项目由 ilgnefz 开发维护,在 GitHub 上已获得 104 stars,为开发者提供了丰富的桌面端功能插件实践示例。
项目简介
flutter_desktop_test 是一个开源的 Flutter Desktop 学习项目,旨在帮助开发者掌握 Flutter 桌面端开发的常用功能插件。项目涵盖了从系统托盘、本地通知到文件操作等桌面应用核心功能,每个功能都配有详细的代码示例和教程链接。
核心特性
项目目前实现了以下桌面端功能:
- 本地悬浮通知:使用 local_notifier 和 win_toast 插件实现桌面通知
- 系统托盘管理:集成 tray_manager 和 system_tray 插件管理应用托盘
- 文件拖入支持:通过 desktop_drop 实现文件拖放到应用窗口
- 本地文件选择:使用 file_selector 和 file_picker 读取本地文件
- 剪贴板操作:集成 screen_capturer、pasteboard、clipboard 等插件处理复制粘贴
- WebView 窗口:使用 desktop_webview_window 在桌面应用中嵌入网页
- 上下文菜单:支持多种右键菜单插件(context_menus、native_context_menu 等)
- 鼠标事件处理:MouseRegion 组件的使用示例
- 自定义 Tooltip:Flutter 自定义工具提示实现
- 快捷键支持:使用 hotkey_manager 实现全局快捷键
技术栈
- Flutter - 跨平台 UI 框架
- Dart (73.8%) - 主要编程语言
- C++ (17.4%) - 平台特定实现
- CMake (7.7%) - 构建系统
辅助插件
项目还使用了以下辅助插件来增强功能:
| 插件 | 用途 |
|---|---|
| window_manager | 桌面程序窗口管理 |
| provider | 跨组件状态管理 |
| bot_toast | Toast 信息展示 |
| cross_file | 文件信息管理 |
| dotted_decoration | 虚线绘制 |
| flutter_staggered_grid_view | 瀑布流布局 |
| url_launcher | URL 启动 |
| path_provider | 文件系统路径获取 |
安装指南
前置要求
确保已安装 Flutter 桌面端开发所需的程序和库。
克隆项目
bash
git clone https://github.com/ilgnefz/flutter_desktop_test.git
cd flutter_desktop_test安装依赖
bash
flutter pub get运行程序
bash
flutter run -d windows添加新平台支持
如需在其他平台运行,使用以下命令:
bash
flutter create --platforms=web,macos,linux .注意事项
- 目前所有功能仅适用于 Windows 平台
- Linux 和 macOS 平台可能需要额外配置
- 如遇到 Flutter 版本更新导致的错误,可尝试运行:
bash
flutter pub outdated
flutter pub upgrade学习资源
项目作者还提供了以下 Flutter 学习资源:
- Flutter 中文官网
- 《Flutter 实战第二版》
- 《Flutter 实战入门》
- FlutterUnit - Flutter 组件学习项目
项目链接
- GitHub 仓库:https://github.com/ilgnefz/flutter_desktop_test
- 作者博客:掘金专栏、博客园
分享: