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.
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)
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.
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.