electron实现不规则窗口

electron yekong

electron实现不规则窗口

在Electron中实现不规则窗口,主要涉及到窗口的透明设置、边框和标题栏的自定义,以及窗口形状的控制。以下是实现不规则窗口的基本步骤:

  1. 创建透明窗口:首先,需要设置窗口的transparent属性为true,使窗口透明。同时,为了实现不规则形状,窗口的frame属性应设置为false以去除标准边框和标题栏。此外,透明窗口通常不允许调整大小,因此resizable属性应设置为false。为了防止双击窗口的可拖拽区域触发最大化事件,maximizable属性也应设置为false
  2. 设置窗口形状:为了实现特定的不规则形状(如圆形),可以通过CSS对窗口内容的DOM元素进行样式设置。例如,创建一个圆形窗口,可以将窗口的宽度(width)和高度(height)设置为相同的值,使窗口成为正方形。然后,通过CSS的border-radius属性对内容区域的DOM元素(如#app元素)设置足够大的圆角,使其呈现为圆形。此外,为了实现点击穿透透明区域的效果,可以使用pointer-events样式。将pointer-events设置为none可以使窗口的透明区域不响应鼠标事件,而将其设置为auto可以使非透明区域响应鼠标事件。

示例代码如下:

win = new BrowserWindow({
  width: 380,
  height: 380,
  transparent: true,
  frame: false,
  resizable: false,
  maximizable: false
});
html, body {
  margin: 0px;
  padding: 0px;
  pointer-events: none;
}
#app {
  box-sizing: border-box;
  width: 380px;
  height: 380px;
  border-radius: 190px; /* 使#app元素成为圆形 */
  border: 1px solid green;
  background: #fff;
  overflow: hidden;
  pointer-events: auto; /* 使#app内的元素可以响应鼠标事件 */
}

通过上述步骤,可以实现一个基本的不规则窗口。此外,除了圆形,还可以通过调整CSS样式来实现其他任意形状的不规则窗口。

electron版本

"electron": "^29.0.1"

实例代码下载

相关文件下载地址
此资源需支付 ¥1 后下载
支付宝购买扫右侧红包码购买更优惠,如无法下载请联系微信:17331886870
喜欢
electron实现不规则窗口