Ich habe eine grundlegende, praktische Kenntnisse von Python Ich versuche, mich selbst beizubringen kivy. Ich möchte Python in der Lage sein, Daten in kivy-Widgets zu lesen und zu schreiben.Lesen/schreiben kivy Widget-Attribute mit Python
Stellen Sie sich vor, es gibt eine Adressbuch-App, die Datum und Uhrzeit in einen TextInput einfügt. Wenn die App startet, Python einfach das Datum und die Uhrzeit holen und es richtig einfügen?
Dieser Programmcode wird ein Beispiel für eine einfache Adressbuch geben:
from kivy.app import App
from kivy.uix.gridlayout import GridLayout
from kivy.uix.label import Label
from kivy.uix.textinput import TextInput
class AddressApp(App):
def build(self):
pass
if __name__ == '__main__':
AddressApp().run()
Hier ist seine address.kv Datei:
GridLayout:
cols: 2
Label:
text: 'Date'
TextInput:
id: textinputdate
Label:
text: 'Time'
TextInput:
id: textinputtime
Label:
text: 'Name'
TextInput:
id: textinputname
Label:
text: 'Address'
TextInput:
id: textinputaddress
Label:
text: 'email'
TextInput:
id: textinputemail
Label:
text: 'Phone'
TextInput:
id: textinputphone
Danach, wenn ich Python das gelesen haben wollte. .. Ich weiß nicht ... äh ... Telefonnummer TextInput, wie würde das gemacht werden?
beliebigen Code Putting innen 'build' Methode, die nicht im Begriff ist, Von einem allgemeinen Verhalten der App wird dringend abgeraten. Manchmal möchten Sie Widgets in anderen Apps wiederverwenden, und diese Lösung macht es ohne unnötige weitere Umschreibungen unmöglich. Mit anderen Worten, solche Dinge sollten in benutzerdefinierte Widgets eingebettet werden, um sich in Zukunft Arbeit zu sparen. – jligeza
Es hängt von der Situation ab. In diesem Fall setze ich einen Standardwert in ein TextInput. Mit anderen Worten, ich gehe durch die Anwendungskonfiguration. Ich muss keine Bibliothek von benutzerdefinierten TextInputs erstellen, und wenn ich es tue, erstelle ich ein halbes Dutzend von ihnen, die mehr Arbeit für mich selbst machen, als wenn ich beim Start einfach Werte in sie einfüge. –
Dann füllen Sie sie in einem übergeordneten Widget, in diesem Fall ein Raster-Layout. Es ist nur eine gute Übung. – jligeza