Kivy (Rahmen) - Kivy (framework)
Entwickler | Kivy Organisation |
---|---|
Erstveröffentlichung | 1. Februar 2011 |
Stabile Version | 2.0.0 / 10. Dezember 2020
|
Repository | Github |
Geschrieben in | Python , Cython |
Betriebssystem | Plattformübergreifend |
Art | Anwendungsrahmen |
Lizenz | MIT ( Freie Software ) |
Webseite | kivy |
Kivy ist ein freier und Open - Source - Python Framework für die Entwicklung von mobilen Anwendungen und andere Multi - Touch - Anwendungssoftware mit einem natürlichen Benutzeroberfläche (NUI) . Es wird unter den Bedingungen der MIT-Lizenz vertrieben und kann unter Android , iOS , Linux , macOS und Windows ausgeführt werden .
Kivy ist der Hauptrahmen von der Organisation Kivy entwickelt, neben Python für Android, iOS Kivy und einige andere Bibliotheken gemeint auf allen Plattformen verwendet werden. Im Jahr 2012 erhielt Kivy von der Python Software Foundation ein Stipendium in Höhe von 5.000 USD für die Portierung auf Python 3.3. Kivy unterstützt auch den Raspberry Pi, der über Bountysource finanziert wurde .
Das Framework enthält alle Elemente zum Erstellen einer Anwendung, z.
- Umfassende Eingabeunterstützung für Maus- , Tastatur- , TUIO- und betriebssystemspezifische Multitouch-Ereignisse,
- eine Grafikbibliothek, die nur OpenGL ES 2 verwendet und auf Vertex Buffer Object und Shadern basiert ;
- eine breite Palette von Widgets , die Multitouch unterstützen ,
- Eine Zwischensprache (Kv), mit der auf einfache Weise benutzerdefinierte Widgets entworfen werden können.
Kivy ist die Weiterentwicklung des PyMT-Projekts und wird für neue Projekte empfohlen.
Ähnliche Projekte
- Buildozer , generischer Python- Packager für Android und iOS .
- Plyer , plattformunabhängiger Python- Wrapper für plattformabhängige APIs .
- PyJNIus , dynamischer Zugriff auf die Java / Android- API von Python .
- Pyobjus , dynamischer Zugriff auf die Objective-C / iOS- API von Python .
- Python für Android , Toolchain zum Erstellen und Packen von Python- Anwendungen für Android .
- Kivy für iOS , Toolchain zum Erstellen und Verpacken von Kivy-Anwendungen für iOS .
- Audiostream , Bibliothek für den direkten Zugriff auf Mikrofon und Lautsprecher .
- KivEnt , eine auf Entitäten basierende Spiel-Engine für Kivy.
- Kivy Garden , Widgets und Bibliotheken, die von der Community erstellt und verwaltet werden .
- Kivy SDK Packager , Skripte für die Kivy SDK-Generierung unter Windows , MacOS und Linux .
- Kivy Remote Shell , interaktive Remote- SSH + Python- Shell-Anwendung.
- KivyPie , Raspbian- basierte Distribution, auf der das neueste Kivy-Framework auf dem Raspberry Pi ausgeführt wird .
- OSCPy , eine schnelle und zuverlässige OSC- Implementierung.
- Gewürz , Präprozessor , der Python- Codeteil gemäß Umgebungsvariablen enthält oder entfernt .
- KivyAuth , Social Login über Google- , Facebook- , GitHub- und Twitter- Konten in Kivy-Apps.
- KivMob , AdMob- Unterstützung für Kivy-Apps.
- KivyMD , eine Reihe von Material Design- Widgets für Kivy.
Codebeispiel
Hier ist ein Beispiel für das Hello World-Programm mit nur einer Schaltfläche:
from kivy.app import App
from kivy.uix.button import Button
class TestApp(App):
def build(self):
return Button(text="Hello World")
TestApp().run()
Kv Sprache
Die Kv-Sprache ist eine Sprache zur Beschreibung der Benutzeroberfläche und der Interaktionen im Kivy-Framework. Wie bei anderen Markup-Sprachen für Benutzeroberflächen ist es möglich, auf einfache Weise eine gesamte Benutzeroberfläche zu erstellen und Interaktionen anzuhängen. Um beispielsweise ein Dialogfeld zum Laden zu erstellen, das einen Dateibrowser und eine Schaltfläche Abbrechen / Laden enthält, können Sie zuerst das Basis-Widget in Python erstellen und dann die Benutzeroberfläche in Kv erstellen.
In main.py:
class LoadDialog(FloatLayout):
def load(self, filename): pass
def cancel(self): pass
Und im dazugehörigen Kv:
#:kivy 1.11.1
<LoadDialog>:
BoxLayout:
size: root.size
pos: root.pos
orientation: "vertical"
FileChooserListView:
id: filechooser
BoxLayout:
size_hint_y: None
height: 30
Button:
text: "Cancel"
on_release: root.cancel()
Button:
text: "Load"
on_release: root.load(filechooser.path, filechooser.selection)
Alternativ können das Layout (hier Box-Layout) und die Schaltflächen direkt in die Datei main.py geladen werden.
Google Summer of Code
Kivy nahm an Google Summer of Code unter der Python Software Foundation teil .
- Kivy in GSoC'2014.
- Kivy in GSoC'2015.
- Kivy in GSoC'2016.
- Kivy in GSoC'2017.
Siehe auch
- Pygame , eine weitere Python- Spiel-API, eine Ebene über der Simple DirectMedia-Ebene
- Cocos2d
- Panda3D
- Pyglet
- Scripting Layer für Android