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