You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Flutter桌面应用中禁用窗口调整大小并修改窗口标题

Flutter桌面应用:禁用窗口调整+修改窗口标题解决方案

一、解决窗口无法禁用调整的问题

1. 先排查desktop_window库的潜在问题

  • 确认pubspec.yaml里的desktop_window是最新版本,旧版本对部分桌面平台支持不完善
  • 部分平台需要额外检查配置:
    • Windows:去windows/runner/main.cpp里,查看窗口初始化代码,确保没有覆盖desktop_window的设置
    • macOS:打开macos/Runner/MainFlutterWindow.swift,确认窗口样式没有冲突

2. 换用window_manager库(更稳定的替代方案)

desktop_window维护活跃度较低,改用window_manager能避免很多兼容性问题:

  • 第一步:在pubspec.yaml添加依赖:
dependencies:
  window_manager: ^0.3.7 # 替换为最新版本
  • 第二步:修改main函数,直接禁用窗口调整:
import 'package:flutter/material.dart';
import 'package:window_manager/window_manager.dart';

void main() async {
  WidgetsFlutterBinding.ensureInitialized();
  await windowManager.ensureInitialized();

  // 配置窗口参数,直接禁用调整
  const windowOptions = WindowOptions(
    size: Size(1280, 720),
    center: true,
    resizable: false, // 核心:禁用窗口调整
  );

  windowManager.waitUntilReadyToShow(windowOptions, () async {
    await windowManager.show();
    await windowManager.focus();
  });

  runApp(const MyApp());
}

这种方式直接设置resizable: false,比强制最小最大尺寸更可靠,不会出现部分平台不生效的情况

二、修改窗口标题

1. 动态设置(运行时修改)

用window_manager可以随时修改标题:

// 在需要的地方调用,比如页面的initState里
await windowManager.setTitle("我的Flutter桌面应用");

2. 原生配置修改(永久生效)

如果想固定标题,直接改平台原生文件:

  • Windows:打开windows/runner/main.cpp,找到CreateWindow函数,把窗口标题参数改成你要的内容
  • macOS:打开macos/Runner/Info.plist,修改CFBundleName和CFBundleDisplayName的值
  • Linux:打开linux/my_application.cc,修改窗口标题对应的字符串

内容的提问来源于stack exchange,提问作者TrojanMouse

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.25 14:02:20