Kivy ist plattformunabhängig, da es unter Android, IOS, Linux und Windows usw. ausgeführt werden kann. Kivy bietet Ihnen die Funktionalität, den Code einmal zu schreiben und auf verschiedenen Plattformen auszuführen. Es wird im Wesentlichen zum Entwickeln der Android-Anwendung verwendet, bedeutet jedoch nicht, dass es nicht für Desktops-Anwendungen verwendet werden kann.

?? Kivy Tutorial - Lernen Sie Kivy anhand von Beispielen .

Gitterstruktur:

  • Das Widget muss in einer bestimmten Spalte / Zeile platziert werden. Jedem Kind wird automatisch eine Position zugewiesen, die durch die Layoutkonfiguration und den Index des Kindes in der Kinderliste bestimmt wird.
  • Das Rasterlayout muss immer eine der folgenden Eingabeeinschränkungen enthalten:
    GridLayout.cols oder GridLayout.rows. Wenn Sie keine Spalten oder Zeilen angeben, löst das Layout eine Ausnahme aus.
  • Das GridLayout ordnet Kinder in einer Matrix an. Es nimmt den verfügbaren Platz in Anspruch und teilt ihn in Spalten und Zeilen auf. Anschließend werden den resultierenden „Zellen“ Widgets hinzugefügt.
  • Die Reihe und die Spalten sind genau so, wie wir sie in einer Matrix beobachten. Hier können wir die Größe jedes Gitters anpassen.
  • Zu Beginn wird die Größe durch die Eigenschaften col_default_width und row_default_height angegeben. Wir können die Standardgröße erzwingen, indem wir die Eigenschaft col_force_default oder row_force_default festlegen. Dadurch wird das Layout gezwungen, die Eigenschaften width und size_hint von untergeordneten Elementen zu ignorieren und die Standardgröße zu verwenden.

Das erste, was wir tun müssen, um ein GridLayout zu verwenden, ist es zu importieren.

aus kivy.uix.gridlayout importiere GridLayout 

Grundlegender Ansatz zum Erstellen von GridLayout:

1) Kivy importieren
2) importiere kivyApp
3) Schaltfläche "Importieren"
4) Gridlayout importieren
5) Mindestversion einstellen (optional)
6) App-Klasse erstellen:
          - Build-Funktion definieren
              : Widget hinzufügen (Schaltflächen)
7) Layout / Widget / Klasse zurückgeben (je nach Anforderung)
8) Führen Sie eine Instanz der Klasse aus

 
Umsetzung des Ansatzes -



Code 1:
Im folgenden Beispiel haben alle Widgets die gleiche Größe. Standardmäßig ist size_hint (1, 1), sodass ein Widget die volle Größe des übergeordneten Elements annimmt:

  
import kivy  
    
from kivy.app import App  
    
from kivy.uix.button import Button 
  
from kivy.uix.gridlayout import GridLayout 
  
class Grid_LayoutApp(App): 
  
    
    
    def build(self): 
  
        
        
        
        layout = GridLayout(cols = 2) 
  
        
        layout.add_widget(Button(text ='Hello 1')) 
        layout.add_widget(Button(text ='World 1')) 
  
        
        layout.add_widget(Button(text ='Hello 2')) 
        layout.add_widget(Button(text ='World 2')) 
  
        
        layout.add_widget(Button(text ='Hello 3')) 
        layout.add_widget(Button(text ='World 3')) 
  
        
        layout.add_widget(Button(text ='Hello 4')) 
        layout.add_widget(Button(text ='World 4')) 
  
        
        return layout 
  
root = Grid_LayoutApp() 
root.run() 

 
Referenz: https://kivy.org/doc/stable/api-kivy.uix.gridlayout.html