किवी (Kivy) अभिनव उपयोगकर्ता इंटरफेस वाले एप्लिकेशन के तेजी से विकास के लिए एक ओपन सोर्स पायथन लाइब्रेरी है, जैसे मल्टी-टच ऐप्स। इसका उपयोग एंड्रॉइड एप्लिकेशन के साथ-साथ डेस्कटॉप एप्लिकेशन विकसित करने के लिए किया जाता है। इस लेख में हम देखेंगे कि BoxLayout विजेट का उपयोग करके विभिन्न ओरिएंटेशन और रंगों के बटन कैसे बनाएं।
नीचे दिए गए कोड में हम पहले एक बाहरी बॉक्स बनाते हैं जिसकी ओरिएंटेशन लंबवत है। फिर हम क्षैतिज ओरिएंटेशन के साथ रो 1 बनाते हैं। फिर दो अन्य पंक्तियाँ फिर से लंबवत ओरिएंटेशन के साथ। हम इन सभी पंक्तियों को बाहरी बॉक्स में लपेटते हैं और रास्ते में बनाए गए बटन विजेट्स को अलग-अलग टेक्स्ट और बैकग्राउंड कलर देते हैं।
उदाहरण
import kivy
from kivy.app import App
from kivy.uix.button import Button
from kivy.uix.boxlayout import BoxLayout
# मुख्य किवी क्लास
class BoxLayoutApp(App):
def build(self):
# बाहरी लंबवत बॉक्स
outerBox = BoxLayout(orientation='vertical')
# विजेट्स को अगल-बगल रखने के लिए
Row1 = BoxLayout(orientation='horizontal')
# रो 1 के लिए बटन बनाएं
btn1 = Button(text="One",
background_normal='',
background_color=(1, 0, 1, 1),
font_size=25,
size_hint=(0.7, 1))
btn2 = Button(text="Two",
background_normal='',
background_color=(1, 1, 0, 0.8),
font_size=25,
size_hint=(0.7, 1))
# बटन्स को रो 1 में जोड़ें
Row1.add_widget(btn1)
Row1.add_widget(btn2)
# रो 2 और 3 के लिए बटन्स
Row_2_3 = BoxLayout(orientation='vertical')
btn3 = Button(text="Three",
background_normal='',
background_color=(1, 0, 0, 0.75),
font_size=25,
size_hint=(1, 10))
btn4 = Button(text="Four",
background_normal='',
background_color=(0, 1, 0, 0.75),
font_size=25,
size_hint=(1, 15))
# बटन्स को रो 2 और 3 में जोड़ें
Row_2_3.add_widget(btn3)
Row_2_3.add_widget(btn4)
# सभी विजेट्स को आउटरबॉक्स में जोड़ें
outerBox.add_widget(Row1)
outerBox.add_widget(Row_2_3)
return outerBox
# BoxLayoutApp() क्लास के लिए रूट ऑब्जेक्ट बनाना
main_layout = BoxLayoutApp()
main_layout.run()
उपरोक्त कोड चलाने से हमें निम्न परिणाम मिलता है:
आउटपुट

BoxLayout मुख्य गुण:
| गुण | विवरण |
|---|---|
| orientation | 'horizontal' या 'vertical' |
| spacing | बच्चों के बीच की दूरी |
| padding | किनारों के चारों ओर पैडिंग [left, top, right, bottom] |
| size_hint | (width_hint, height_hint) - सापेक्ष आकार |