Schließen Sie externe Kv-Dateien in Python Kivy ein und verwenden Sie sie

Überblick

Ich habe eine Basis-App getestet, die Include zum Importieren externer Kv-Dateien verwendet.

Umgebung

Punkt

Dateipositionierung

project-root
|-- main.py
|-- test.kv
`-- gui/
    `-- tab_test.kv

Der Code ist unten.

main.py

main.py


from kivy.app import App
from kivy.uix.boxlayout import BoxLayout
from kivy.properties import ObjectProperty

class RootWidget(BoxLayout):
    
    #In der Kv-Datei definierte Schaltfläche_Definieren Sie das Include-Widget in der Python-Datei
    button_include = ObjectProperty()  
    
    def print_obj(self, obj):
        print(obj)
        
    def check_button_include(self):
        print(self.button_include)  #Greifen Sie innerhalb einer Python-Datei auf die Widget-Klasse einer externen Kv-Datei zu

class TestApp(App):
    def build(self):
        return RootWidget()


if __name__ == '__main__':
    TestApp().run()

Kv-Datei mit Root-Widget

test.kv


#:include gui/tab_test.kv  #Importieren Sie eine externe Kv-Datei

<RootWidget>:
    # button_Definieren Sie include als Eigenschaft von RootWidget
    button_include: tab_button_include.button_include

    TabbedPanel:
        do_default_tab: False
        
        TabbedPanelItem:
            text: 'Tab1'
            BoxLayout:
                Button:
                    text: 'button 1'
                    on_press: root.print_obj(self)
                Button:
                    text: 'button 2'
                    on_press: root.check_button_include()
        TabbedPanelItem:
            text: 'Tab2'
            ButtonInclude:  #Verwenden Sie die in der externen Kv-Datei definierte Widget-Klasse
                id: tab_button_include  #Weisen Sie der definierten Widget-Klasse eine ID zu

Externe Kv-Datei

tab_test.kv


<ButtonInclude@Button>:
    button_include: button_include

    id: button_include
    text: 'button include'
    on_press: app.root.print_obj(self)  # "app.root.method"Führen Sie die RootWidget-Methode aus der externen Kv-Datei mit aus

Ausführungsergebnis

kivy_test_include_tab1.png kivy_test_include_tab2.png

Betriebsergebnis jeder Taste

Button1          ->   <kivy.uix.button.Button object at 0x000001E0A8DE18D0>
Button2          ->   <kivy.factory.ButtonInclude object at 0x000001E0A8DE1A08>
Button include   ->   <kivy.factory.ButtonInclude object at 0x000001E0A8DE1A08>

Referenz

Recommended Posts

Schließen Sie externe Kv-Dateien in Python Kivy ein und verwenden Sie sie
Bearbeiten Sie Dateien und Ordner in Python
Exportieren und Ausgeben von Dateien in Python
Lesen und schreiben Sie JSON-Dateien mit Python
Verwendung ist und == in Python
Lesen und Schreiben von CSV- und JSON-Dateien mit Python
Verwenden Sie config.ini mit Python
Verwenden Sie Datumsangaben in Python
Verwenden Sie Valgrind mit Python
Verwenden Sie den Profiler in Python
Verwendung von Python Kivy ~ ~ Grundlagen der Kv-Sprache ~
% Und str.format () in Python. Welches benutzt du?
Speichern Sie Listen, Wörterbücher und Tabellen in externen Python-Dateien
Suchen Sie rekursiv nach Dateien und Verzeichnissen in Python und geben Sie sie aus
Verwenden Sie den let-Ausdruck in Python
Verwenden Sie das Messprotokoll mit Python
Verwenden Sie die Rückruffunktion in Python
Verwenden Sie den Parameterspeicher in Python
Verwenden Sie den HTTP-Cache in Python
Führen Sie externe Befehle mit Python aus
Verwenden Sie in Python ein Diktat mit Listenschlüssel
Verwenden Sie Random Forest mit Python
Verwenden Sie Spyder von Python IDE
Stapel und Warteschlange in Python
Externe Befehlsausführung in Python
Unittest und CI in Python
[Einführung in die Udemy Python3 + -Anwendung] 36. Verwendung von In und Not
Vergleich der Verwendung von Funktionen höherer Ordnung in Python 2 und 3
[Python] Verwenden Sie diese Option, um WAV-Dateien zu lesen und zu schreiben. [WAVIO]
[Tipps] Probleme und Lösungen bei der Entwicklung von Python + Kivy
Ausführen externer Shell-Skripte und -Befehle in Python
PDF in Python unter Windows drucken: Verwenden Sie eine externe Anwendung
Verschieben von CSV-Dateien mit Python Teil 1
Verarbeitung zur Verwendung von notMNIST-Daten in Python (und versucht, sie zu klassifizieren)
Pakete, die MIDI mit Python Midi und Pretty_Midi verarbeiten
Unterschied zwischen list () und [] in Python
Unterschied zwischen == und ist in Python
Zeigen Sie Fotos in Python und HTML an
Verwenden Sie Stoff wie in Python (Stoff3)
Sortieralgorithmus und Implementierung in Python
[Python / matplotlib] FuncAnimation verstehen und verwenden
Verwendung von SQLite in Python
Fortschrittsbalken im Popup mit Python Kivy
Über Python und Cython dtype
Umgang mit JSON-Dateien in Python
Laden Sie Google Drive-Dateien in Python herunter
Zuweisungen und Änderungen in Python-Objekten
Verwenden Sie Flask, um externe Dateien auszuführen
Verwenden Sie rospy mit virtualenv in Python3
Überprüfen und verschieben Sie das Verzeichnis in Python
Verschlüsselung mit Python: IND-CCA2 und RSA-OAEP
Sortieren Sie große Textdateien in Python
Hashing von Daten in R und Python
Wie man MySQL mit Python benutzt
Verwenden Sie Python in pyenv mit NeoVim
Verwendung von ChemSpider in Python
Verwendung von PubChem mit Python
Funktionssynthese und Anwendung in Python