electron 电子窗角无半径?

f2uvfpb9  于 12个月前  发布在  Electron
关注(0)|答案(3)|浏览(175)

我有一个电子窗,它有这些性质:

mainWindow = new BrowserWindow({
  width: 800,
  height: 600,
  title: "Aqua",
  frame: false,
  transparent: true,
  show: false,
  fullscreenable: false,
  webPreferences: {
    plugins: true
  }
})

字符串
当我启动它的时候,一切都很好。但是因为我的标题栏只在悬停时显示,我在顶部有一个丑陋的边缘,在底部有一个圆形的边缘。我现在希望我所有的角都有一个0px的半径。根据互联网上的其他资源,当窗口是无框和透明的时候,它应该自动为0px半径。这对我不起作用。我如何在没有半径的情况下使我的边缘锐利整个窗口?
如果你需要我的代码,here是我的CSS,here是我的main.js,here是我的HTML。

ttvkxqim

ttvkxqim1#

从版本13开始,Electron有一个新的BrowserWindow选项,称为roundedCorners,可以通过将其设置为false来禁用:

const window = new BrowserWindow({
  title: 'A window without rounded corners',
  roundedCorners: false, // 👈
})

字符串

确保您运行的是Electron 13或更新版本(检查它:npm ls electron)。如果不是,请安装最新版本:npm i electron@latest

oogrdqng

oogrdqng2#

好吧,我找到了一个小小的变通方法:

win = new BrowserWindow({
frame: false, 
transparent: true,
  });

html {
  width:  /* less then window's size */;
  height: /* the same */;
  background: /* some color here */
}

字符串
这是黑客,但唯一的方法,我发现工作。如果你有更好的方法,请仍然让我知道!
你不该用这个。它会把一切都搞砸的!
更好的解决方案:只需在BrowserWindow的创建中设置一个充满活力和透明的真实,您的窗口将具有硬边。其他一切都需要对 chrome 有深入的了解。

lf5gs5x2

lf5gs5x23#

在Windows上使用frame:falsethickFrame:false应该可以工作。在macOS上使用额外的roundedCorners:false

const Win = new BrowserWindow({
            frame:           false,
            roundedCorners:  false, // macOS, not working on Windows
            thickFrame:      false,
            webPreferences:  {}
        });

字符串

相关问题