किवी (Kivy) अभिनव उपयोगकर्ता इंटरफेस वाले एप्लिकेशन के तेजी से विकास के लिए एक ओपन सोर्स पायथन लाइब्रेरी है, जैसे मल्टी-टच ऐप्स। इसका उपयोग एंड्रॉइड एप्लिकेशन के साथ-साथ डेस्कटॉप एप्लिकेशन विकसित करने के लिए किया जाता है। इस लेख में हम देखेंगे कि बटन दबाए जाने पर इवेंट्स का उपयोग कैसे करें।
नीचे दिए गए उदाहरण में हमने एक बटन और एक लेबल को क्षैतिज BoxLayout में बनाया है। हम बटन और लेबल को प्रारंभिक टेक्स्ट देते हैं। फिर हम बटन पर क्लिक करने के लिए एक इवेंट बनाते हैं जो बटन और लेबल दोनों में टेक्स्ट बदलता है। यह एक सिंगल पायथन फ़ाइल है।
उदाहरण
from kivy.app import App
from kivy.uix.label import Label
from kivy.uix.button import Button
from kivy.uix.boxlayout import BoxLayout
class ButtonPressApp(App):
def __init__(self):
super(ButtonPressApp, self).__init__()
self.btn = Button(text='Submit Button')
self.lbl = Label(text='Some text here.')
def build(self):
self.btn.bind(on_press=self.click_event)
layout = BoxLayout()
layout.orientation = 'horizontal'
layout.add_widget(self.btn)
layout.add_widget(self.lbl)
return layout
def click_event(self, obj):
self.btn.background_normal = ''
self.btn.color = (1, 0, 0, 0.8)
self.btn.text = 'Button Pressed'
self.lbl.text = 'Text Changed'
MainLayout = ButtonPressApp()
MainLayout.run()
उपरोक्त कोड चलाने से हमें निम्न परिणाम मिलता है:
आउटपुट
बटन दबाने से पहले।

बटन दबाने के बाद।

मुख्य बिंदु:
bind(on_press=callback)- बटन दबाने पर कॉलबैक बांधता हैbackground_normal=''- डिफ़ॉल्ट बैकग्राउंड इमेज हटाता है ताकि रंग दिखेcolor- RGBA टुपल (लाल, हरा, नीला, अल्फा) प्रत्येक 0-1BoxLayout- विजेट्स को क्षैतिज या लंबवत व्यवस्थित करता है
अन्य उपयोगी इवेंट्स:
on_release- बटन छोड़ने परon_state- स्थिति बदलने पर (normal/down)