跟踪电子中的窗口大小

tom*_*m_h 3 electron

我今天才刚开始玩 Electron。我需要能够获得可用的窗口大小,并在窗口调整大小时更新它。

这似乎不像在传统的 JS 应用程序中那样简单。跟踪窗口大小的推荐方法是什么?

目前,我有我的主进程和一个渲染器,没有计划一次打开超过 1 个渲染器/窗口。

我尝试使用以下内容,但似乎完全错误,所以我一定误解了文档。

const {BrowserWindow} = require('electron').remote
BrowserWindow.getSize()
Run Code Online (Sandbox Code Playgroud)

编辑:

通过观察应用程序的主体来跟踪高度是否合理?我可以将其设置为 100% 宽度/高度并观看它,但这似乎有点黑客。

谢谢汤姆

小智 8

你可以试试

const electron = require('electron')
const remote = electron.remote

remote.getCurrentWindow().webContents.getOwnerBrowserWindow().getBounds()
Run Code Online (Sandbox Code Playgroud)

边界将具有当前窗口的坐标和大小,

{ 
  height: 1040,
  width : 837,
  x : 276,
  y : 78 
}
Run Code Online (Sandbox Code Playgroud)


Nem*_*emi 5

这适用于 v4.0.4:

在渲染器.js中:

import { remote } from "electron";

console.log('size:', remote.getCurrentWindow().getSize());
// size: [1000, 700]

console.log('bounds:', remote.getCurrentWindow().getBounds());
// bounds: {height: 700, width: 1000, x: 226, y: 97}
Run Code Online (Sandbox Code Playgroud)

在main.js中:

import { BrowserWindow } from "electron";

let mainWindow: BrowserWindow

// ...after mainWindow is created
console.log('size:', mainWindow.getSize());
console.log('bounds:', mainWindow.getBounds());
Run Code Online (Sandbox Code Playgroud)