人人都会AI编程

9.1 窗口基础配置:尺寸、位置、标题、图标、最小 / 最大尺寸

更新时间:2026-07-11

Tauri 的窗口配置主要集中在一个地方:tauri.conf.json 文件中的 windows 数组。每个窗口都是一个独立对象,可以设置标题、尺寸、位置、图标以及尺寸限制等属性。以下是最常用的基础配置项及其实用说明。


最小化窗口配置示例

{
  "tauri": {
    "windows": [
      {
        "title": "我的应用",
        "width": 800,
        "height": 600,
        "resizable": true,
        "fullscreen": false
      }
    ]
  }
}

只需这么一段,你的应用启动时就会创建一个 800×600、标题为“我的应用”的窗口,允许用户手动缩放,且不以全屏模式打开。


常用配置项详解

1. 尺寸:widthheight

  • 默认单位是逻辑像素(即 CSS 像素),而不是物理像素,因此在高 DPI 屏幕上会自动适配,无需额外处理。
  • 如果不指定,Tauri 通常使用 800×600 作为默认值(视版本可能略有差异,建议显式指定)。
  • 实用技巧:对于工具类应用,推荐使用 900×6801024×700,这样内容区域舒适又不显得占地过大。
"width": 1024,
"height": 700

2. 位置:xy

  • 用于设置窗口在屏幕上的初始位置,原点为屏幕左上角。
  • 注意:部分桌面环境(尤其是 Linux 的某些平铺窗口管理器)会忽略此设置,由系统自主决定窗口位置。
  • 如果不设置 xy,窗口默认会居中显示,这在大多数场景下是最自然的表现。因此除非有特殊需求,建议省略此配置
// 一般在不需要特殊定位时不写
"x": 100,
"y": 50

3. 标题:title

  • 会显示在窗口标题栏和任务栏上。
  • 支持动态更新(通过 Rust 命令调用 window.set_title())。
  • 真实建议:标题不宜过长,尤其是 Windows 下任务栏被缩略时过长的标题会被截断。

4. 图标:通过 tauri.conf.json 中的 bundle.icon 统一设置

窗口图标不是直接在 windows 数组里配置的,而是打包配置的一部分。Tauri 会将图标应用到窗口标题栏和任务栏。配置如下:

{
  "tauri": {
    "bundle": {
      "icon": [
        "icons/32x32.png",
        "icons/128x128.png",
        "icons/128x128@2x.png",
        "icons/icon.icns",
        "icons/icon.ico"
      ]
    }
  }
}
  • Windows:需要提供 .ico 文件(建议包含 256×256 尺寸,向下兼容)。
  • macOS:需要提供 .icns 文件(可通过 iconutil 从 PNG 集生成)。
  • Linux:推荐提供 512×512 的 PNG。
  • Tauri 在打包时会自动将这些图标复制到正确位置,并用于安装包和窗口图标。

5. 最小/最大尺寸限制

使用 minWidthminHeightmaxWidthmaxHeight 可以约束用户的缩放行为,防止界面布局被拉伸得支离破碎。

{
  "title": "不可调太小的编辑器",
  "width": 860,
  "height": 640,
  "minWidth": 600,
  "minHeight": 400,
  "maxWidth": 1400,
  "maxHeight": 900
}
  • 这些值和 width / height 一样,都是逻辑像素。
  • 如果你希望窗口完全不能缩放,可以将 minWidthmaxWidth 设置成同一个值,同时把 resizable 设为 falsetrue(两者功能独立,但一般会联用)。
"resizable": false,
"minWidth": 800,
"maxWidth": 800,
"minHeight": 600,
"maxHeight": 600

常见问题与真实建议

  • 多窗口场景windows 是一个数组,你可以定义多个窗口,并为每个窗口指定不同的尺寸和标题,Tauri 会在启动时同时打开它们。
  • 尺寸和屏幕 DPI:你写的所有尺寸都是逻辑像素,适配高分屏时界面和字体大小会按系统缩放比自动调整,这一点前端无需额外操心。
  • 如果想去掉默认窗口边框:可以在窗口配置里添加 "decorations": false,这样就可以用前端实现标题栏,获得无边框窗口。但此时需注意最小/最大尺寸仍然适用。
  • 调试时窗口太小:开发阶段可以将尺寸设得更合理一些(比如 1024×768),避免某些调试工具挤在一起。

通过这几项基础配置,你就能精确控制应用窗口的外观和初始状态,无需触及任何原生代码。下一节我们将继续深入窗口的高级特性,比如透明、置顶、阴影和无边框窗口的实现。