Electron: Las opciones de min-width y min-height de BrowserWindow no funcionan porque los nombres de JavaScript no son válidos

Creado en 6 may. 2015  ·  14Comentarios  ·  Fuente: electron/electron

Según documentación:

https://github.com/atom/electron/blob/master/docs/api/browser-window.md

El ancho y alto mínimo se pueden pasar en las opciones de BrowserWindow como ancho mínimo y alto mínimo, pero esas opciones no funcionan porque son nombres de JavaScript no válidos:

https://mothereff.in/js-variables#min -width

setMinimumSize () funciona como se esperaba.

Comentario más útil

@sbruchmann , el código proporcionado por usted no funciona. pero esto funcionó para mi

new BrowserWindow({
  'minHeight': 300,
  'minWidth': 300
})

Todos 14 comentarios

Hola @hzeroo ,

debe poner sus claves entre comillas si contienen caracteres no válidos:

new BrowserWindow({
  'min-height': 300,
  'min-width': 300
})

Se puede cerrar, no lo sabía ^^.

@sbruchmann , el código proporcionado por usted no funciona. pero esto funcionó para mi

new BrowserWindow({
  'minHeight': 300,
  'minWidth': 300
})

@bansalvks El código que proporcioné no funciona _más_. En versiones anteriores, estas claves tenían que escribirse con guiones, pero se desaprobó en favor de camelCase.

@bansalvks Eso es suficiente:

new BrowserWindow({
  minHeight: 300,
  minWidth: 300
})

Establecer minHeight, minWidth no funcionó para mí. Tuve que establecer el tamaño de la ventana inicial y luego establecer los tamaños mínimos:

new BrowserWindow({
  height: 300,
  width: 300,
  minHeight: 300,
  minWidth: 300
})

Me gustaría agregar que se deben especificar tanto minWidth como minHeight . Necesitaba que la ventana se mantuviera por encima del ancho mínimo, pero no me importaba la altura mínima. No funcionó así. Así que defina siempre ambos.

También asegúrate de no poner decimales, yo tenía decimales ahí y lo descartó. Tratar de ser exactos no siempre es bueno si no funciona. Aproximado en lugar de decimales.

esto no funcionó para mi

new BrowserWindow({
      width: 800, height: 600,
      'minWidth':400,// even 'min-width' or minWidth
      frame:false
})

funcionó para mí solo después de establecer la altura mínima como:

new BrowserWindow({
  width: 800, height: 600,
  minHeight: 300,
  minWidth: 300,
  frame:false
})

En mi caso, traté de establecer el tamaño de la ventana en relación con el tamaño de la pantalla.
Asegúrate de pasar enteros

const screenElectron = electron.screen;
const display = screenElectron.getPrimaryDisplay();
const dimensions = display.workAreaSize;
mainWindow = new BrowserWindow({
    width: parseInt(dimensions.width * 0.8),
    height: parseInt(dimensions.height * 0.8),
    minWidth: parseInt(dimensions.width * 0.8),
    minHeight: parseInt(dimensions.height * 0.8),
    maxWidth: dimensions.width,
    maxHeight: dimensions.height,
    icon: `${__dirname}/assets/icon.ico`
  });

Todo lo anterior no funciona en Windows 10, probado en electron 7 y 8. BrowserWindow siempre se puede minimizar aún más en 30-40 píxeles.

@Celebes , esto me funciona en Windows 10. Estoy usando la versión de Electron 9.0.2 .

new BrowserWindow({
  width: 800,
  height: 600,
  minWidth: 900,
  minHeight: 600,
})

@Celebes , esto me funciona en Windows 10. Estoy usando la versión de Electron 9.0.2 .

new BrowserWindow({
  width: 800,
  height: 600,
  minWidth: 900,
  minHeight: 600,
})

su configuración es funcional, pero los width y height parecen innecesarios.

Yo uso win10 y electron 9.1.0.

@Celebes , esto me funciona en Windows 10. Estoy usando la versión de Electron 9.0.2 .

new BrowserWindow({
  width: 800,
  height: 600,
  minWidth: 900,
  minHeight: 600,
})

su configuración es funcional, pero los width y height parecen innecesarios.

Yo uso win10 y electron 9.1.0.

¿Qué significaría establecer el ancho inicial más pequeño que el ancho mínimo?

¿Fue útil esta página
0 / 5 - 0 calificaciones