2012-12-23 37 views
26

kivy'u kullanarak bir program yazmaya başladım, ancak bazı sorunların boyutlarıyla nasıl çalıştığını anladım. ÖrneğinKivy: Pencere boyutu nasıl değiştirilir?

:

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

yukarıdaki program çalışır, ancak bir büyük pencere oluşturur. size=(100, 100)'u ayarlamaya çalışmak hiçbir şeyi değiştirmez. size_hint=(None, None) ayarı, doğru boyutta bir düğme gösterecektir, ancak hala büyük pencerenin içine rastgele yerleştirilir. MyApp boyutunu ayarlamaya çalışmak da hiçbir şeyi değiştirmez.

Düğme aynı boyutta bir pencereyi nasıl oluştururum? Basit bir görev olmalı, ancak belgelere ve örneğe bakarak bu konuda hiçbir şey bulamıyorum.

cevap

46

şu anda iki yolu vardır konum:

  • pencere oluşturulduktan önce:

    import kivy 
    kivy.require('1.9.0') 
    
    from kivy.config import Config 
    Config.set('graphics', 'width', '200') 
    Config.set('graphics', 'height', '200') 
    
  • Pencere oluşturuldu Dinamik sonra:

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

Bu mükemmel bir şekilde çalışıyor, ben de aynı sorunu yaşıyordum ve bana yardımcı olacak hiçbir şey bulamadım, neyse ki bunu buldum ... çok teşekkürler Martin –

+0

Pencereyi tüm ekrana sığdırmanın bir yolu var mı? karar ne olursa olsun? – Yair

+0

@Yair Tam ekran mı, pencereli mi, ancak ekranın boyutu mu? – martin

1

I martin cevabı üzerine yorum yapar ama benim itibarım yok. yapılandırma dosyasını ayarlarken, değişiklikleri "yazma" emin olun:

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

Bu konuda bir şey biliyor eğer tam bir veritabanına bilgi işlemekle gibi.

+0

Config.write() değişiklikleri kalıcı hale getiriyor. O zaman öntanımlı olarak kullanılacaktır. – Holger

İlgili konular