¿Hay alguna forma de mantener fijo el tamaño de la ventana para los programas Kivy? Solucionado en el sentido de que el tamaño de su ventana no se puede aumentar o disminuir. Por ejemplo, quiero un programa Kivy cuyo tamaño de ventana sea 500x500 y el usuario final no pueda cambiar el tamaño de la ventana o convertirlo en pantalla completa. Intenté establecer la altura, el ancho, la altura mínima y la anchura mínima, todos con los mismos valores y aún puedo cambiar el tamaño de la ventana y la pantalla completa.

5
Parthib Biswas 11 may. 2016 a las 16:38

3 respuestas

La mejor respuesta

Hay una manera de configurar la aplicación para deshabilitar el cambio de tamaño

from kivy.config import Config
Config.set('graphics', 'resizable', False)

Además, de la misma manera, puede establecer el ancho-alto predeterminado de la ventana.
Ten algo en mente. Al hacerlo así al comienzo de su aplicación, mantendrá la configuración solo para esa aplicación. Sin embargo, si ejecuta un Config.write(), guardará la configuración en un archivo de configuración.

Config.set debe usarse antes de importar cualquier otro módulo Kivy. Idealmente, esto significa configurarlos justo al comienzo de su script main.py. Alternativamente, puede guardar esta configuración de forma permanente utilizando Config.set luego Config.write. En este caso, deberá reiniciar la aplicación para que los cambios surtan efecto. Tenga en cuenta que este enfoque efectuar todas las aplicaciones de Kivy en todo el sistema.

Lea este artículo wiki para obtener más información.

10
illright 11 may. 2016 a las 13:43

Puedes dar así en kivy-1.10.0 +

import kivy
from kivy.app import App
from kivy.core.window import Window
from kivy.config import Config
kivy.config.Config.set('graphics','resizable', False)



class MyApp(App):
    def build(self):
        Window.size = (1280,720)
MyApp().run()
0
Prabakar 13 ene. 2020 a las 11:35

En realidad, hay muchas formas en que puede hacer esto, que dicen que muchas de ellas dependen de cómo está escribiendo su código y, dado que no nos ha dado un ejemplo, solo puedo mostrarle ejemplos básicos ...

Digamos, por ejemplo, que no está utilizando el lenguaje de diseño kivy y está haciendo su proyecto en Python directo, por ejemplo, podría configurar un widget Root de la siguiente manera

Root = Widget(size = (500,500))

También podría evitar eso y simplemente hacer, por ejemplo

Window.size = (500, 500)

Ahora, si está utilizando el lenguaje de diseño kv, es muy fácil, excepto que establecería el tamaño de su lienzo, rectángulos, etc. dentro del archivo .kv.

Y como mencionó @ Leva7, también podría usar, por ejemplo

from kivy.config import Config
Config.set('graphics', 'resizable', '0') #0 being off 1 being on as in true/false
Config.set('graphics', 'width', '500')
Config.set('graphics', 'height', '500')

Tenga en cuenta que lo anterior (es decir, Config.set ()) debe colocarse en la parte superior del código fuente cerca de la sección de importación.

4
Afflicted 13 feb. 2017 a las 16:51