2012-12-23 16 views
26

मैं kivy का उपयोग कर एक प्रोग्राम लिखना शुरू कर रहा हूं, लेकिन मुझे कुछ समस्याएं समझती हैं कि यह आकारों से कैसे निपटती है।Kivy: विंडो आकार कैसे बदलें?

उदाहरण के लिए:

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

उपरोक्त कार्यक्रम काम करता है, लेकिन यह एक विशाल विंडो बनाता है। size=(100, 100) सेट करने का प्रयास कुछ भी नहीं बदलता है। size_hint=(None, None) सेट करना सही आकार वाला बटन दिखाएगा, लेकिन इसे अभी भी विशाल विंडो के अंदर यादृच्छिक रूप से रखा गया है। MyApp के आकार को सेट करने का प्रयास कुछ भी नहीं बदलता है।

मैं बटन के उसी आकार के साथ एक विंडो कैसे बना सकता हूं? यह एक साधारण काम होना चाहिए, लेकिन दस्तावेज़ीकरण और उदाहरण को देखकर मुझे इसके बारे में कुछ भी नहीं मिला।

उत्तर

46

वर्तमान में दो तरीके हैं:

  • से पहले खिड़की बनाई गई है:

    import kivy 
    kivy.require('1.9.0') 
    
    from kivy.config import Config 
    Config.set('graphics', 'width', '200') 
    Config.set('graphics', 'height', '200') 
    
  • गतिशील रूप से के बाद खिड़की बनाया गया था:

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

यह पूरी तरह से काम करता है, मुझे यह वही समस्या थी और मुझे मदद करने के लिए कुछ भी नहीं मिला, सौभाग्य से मुझे यह मिला ... बहुत धन्यवाद मार्टिन –

+0

खिड़की को पूरी स्क्रीन पर फिट करने का कोई तरीका है? संकल्प के बावजूद? – Yair

+0

@Yair आपका मतलब पूर्णस्क्रीन या खिड़की वाला है लेकिन स्क्रीन के आकार के साथ? – martin

1

मैं मार्टिन के जवाब पर टिप्पणी करेंगे , लेकिन मेरे पास प्रतिष्ठा नहीं है। जब कॉन्फ़िग फ़ाइल की स्थापना, "लिखने" में अपने परिवर्तन सुनिश्चित हो:

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

यह वास्तव में एक डेटाबेस के लिए जानकारी करने की तरह है, अगर आप इस बारे में कुछ पता है।

+0

Config.write() परिवर्तनों को स्थायी बनाता है। वे तब डिफ़ॉल्ट के रूप में इस्तेमाल किया जाएगा। – Holger