web-dev-qa-db-fra.com

Kivy: Comment changer la taille de la fenêtre?

Je commence à écrire un programme en utilisant kivy , mais j'ai quelques problèmes pour comprendre comment il gère les tailles.

Par exemple:

import kivy
kivy.require('1.5.1')

from kivy.app import App
from kivy.uix.button import Button

class MyApp(App):
    def build(self): return Button(text='Some text')

MyApp().run()

Le programme ci-dessus fonctionne, mais il crée une immense fenêtre . Essayer de définir size=(100, 100) ne change rien. Le réglage de size_hint=(None, None) affichera un bouton avec la taille correcte, mais il est placé au hasard dans une immense fenêtre encore. Essayer de définir la taille de MyApp ne change rien non plus.

Comment créer une fenêtre avec la même taille de bouton? Cela devrait être une tâche assez simple, mais en regardant la documentation et l'exemple, je ne trouve rien à ce sujet.

31
Bakuriu

Il existe actuellement deux façons:

  • Avant la création de la fenêtre:

    import kivy
    kivy.require('1.9.0')
    
    from kivy.config import Config
    Config.set('graphics', 'width', '200')
    Config.set('graphics', 'height', '200')
    
  • Dynamiquement après la création de la fenêtre:

    from kivy.core.window import Window
    Window.size = (300, 100)
    
67
martin

Je commenterais la réponse de Martin, mais je n'ai pas la réputation. Lors de la définition du fichier de configuration, veillez à "écrire" vos modifications:

from kivy.config import Config
Config.set('graphics', 'width', '200')
Config.set('graphics', 'height', '200')
Config.write()

C'est exactement comme enregistrer des informations dans une base de données, si vous en savez quelque chose.

6
Aaron Bell

Utilisez ceci:

from kivy.core.window import Window
Window.size = (300, 100)

Si tu utilises

from kivy.config import Config
Config.set('graphics', 'width', '200')
Config.set('graphics', 'height', '200')
Config.write()

cela entraînera la perte de la taille d'écran par défaut! La taille d'écran par défaut est vraiment utile.

5
SagitSri