Tauri应用如何动态调整窗口尺寸?

振艳 阅读 65

在用Tauri开发应用时,想根据用户点击按钮动态调整窗口大小,但按照文档调用window.resizeTo()没反应,有没有其他正确方法?

尝试在前端用JavaScript调用:


function resizeWindow() {
  window.resizeTo(800, 600);
}

但点击按钮后窗口尺寸没变化,控制台也没有报错。查了tauri.conf.js配置,窗口初始尺寸设置正常,但动态修改没效果,这是为什么?

我来解答 赞 8 收藏
二维码
手机扫码查看
1 条解答
程序猿广云
这个问题有点坑啊,其实 window.resizeTo() 是浏览器的方法,在 Tauri 里是没法直接用的。Tauri 的窗口操作得通过它的 API 来搞。

你需要用到 Tauri 提供的 @tauri-apps/api/window 模块。简单来说,就是得在前端调用 Tauri 的窗口管理方法才行。

给你个示例代码,直接上手就能用:

async function resizeWindow() {
const { current } = await import('@tauri-apps/api/window');
await current.setSize({ width: 800, height: 600 });
}

// 绑定到按钮点击事件
document.getElementById('resize-btn').addEventListener('click', resizeWindow);


注意几点:
1. 确保你装了最新的 Tauri API 包。
2. 这里的 setSize 方法是异步的,记得用 await
3. 前端这块得引入 Tauri 的 API,按上面的方式动态导入就行。

这样写就妥了,窗口大小能正常调整。如果还是有问题,检查下 Tauri 的配置文件里有没有限制窗口尺寸的选项,比如 minWidthminHeight 之类的,可能会干扰设置。
点赞 8
2026-01-29 06:10