[[oktatas:programozás:python:kivy|< Kivy]] ====== Kivy ====== * **Szerző:** Sallai András * Copyright (c) 2020, Sallai András * Licenc: [[https://creativecommons.org/licenses/by-sa/4.0/|CC BY-SA 4.0]] * Web: https://szit.hu ===== A Kivyről ===== A Kivy egy nyílt forráskódú Python programozói könyvtár, gyors alkalmazásfejlesztéshez, ami újszerű felhasználói felületet használ, mint a többérintéses alkalmazások. A Kivy program fut Linuxon, Windowson, macOS-en, Androidon, iOS-en, és Raspberry Pi-n. Ugyanaz a kód futhat minden platformon. ===== Telepítés ===== Szükséges csomagok Linuxon: apt install \ python3-setuptools \ python3-opengl \ python3-gst-1.0 \ python3-enchant \ gstreamer1.0-plugins-good \ python3-dev \ build-essential \ libgl1-mesa-dev \ libgles2-mesa-dev \ zlib1g-dev \ freeglut3-dev pip3 install pygame A Kivy telepítése: pip3 install kivy ===== Dokumentációk ===== * https://kivy.org/doc/stable/ (2020) * https://kivy.org/doc/stable/api-kivy.html (2020) ===== Hello Világ ===== from kivy.app import App from kivy.uix.button import Button class SajatApp(App): def build(self): return Button(text='Helló Világ') SajatApp().run() ===== Felirat ===== from kivy.app import App from kivy.uix.label import Label class TesztApp(App): def build(self): return Label(text="Helló Világ") TesztApp().run() Méret: from kivy.app import App from kivy.uix.label import Label class TesztApp(App): def build(self): return Label(text="Helló Világ", font_size=75) TesztApp().run() Egyéb: from kivy.app import App from kivy.uix.label import Label class TesztApp(App): def build(self): return Label(text="[color=ff0000]Hello[/color] [color=0000ff]Python[/color] Vilag", font_size=25, color=(0.8, 0.8, 0.0), italic=True, bold=True, markup=True, font_name="Admiration Pains.ttf") TesztApp().run() ===== Gomb ===== from kivy.app import App from kivy.uix.button import Button class TesztApp(App): def build(self): btn = Button(text='Vált', on_press=self.csinal, size_hint=(1.0,.1)) return btn def csinal(self, instance): self.title ='valami' TesztApp().run() ===== Bevitelimező ===== from kivy.app import App from kivy.uix.textinput import TextInput class TesztApp(App): def build(self): txt = TextInput(size_hint=(1.0, 1.0)) return txt TesztApp().run() ===== Kép ===== from kivy.app import App from kivy.uix.image import Image class TesztApp(App): def build(self): img = Image(source='kep.png', size_hint=(1, .5), pos_hint={'center_x':.5, 'center_y':.5}) return img TesztApp().run() ===== BoxLayout elrendezés ===== from kivy.app import App from kivy.uix.label import Label from kivy.uix.textinput import TextInput from kivy.uix.button import Button from kivy.uix.boxlayout import BoxLayout class TesztApp(App): def build(self): self.box = BoxLayout(orientation='vertical', spacing=20) self.lbl = Label(text='Érték', size_hint=(1.0,.5)) self.txt = TextInput(hint_text='Ide írj', size_hint=(1.0,.1)) self.btn = Button(text='Valami', on_press=self.csinal, size_hint=(1.0,.1)) self.box.add_widget(self.lbl) self.box.add_widget(self.txt) self.box.add_widget(self.btn) return self.box def csinal(self, instance): self.txt.text = 'valami' TesztApp().run()