字节笔记本

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_toastToast 信息展示
cross_file文件信息管理
dotted_decoration虚线绘制
flutter_staggered_grid_view瀑布流布局
url_launcherURL 启动
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 学习资源:

项目链接

分享: