#python #kivy-language
Вопрос:
ПРИМЕЧАНИЕ: Я впервые использую переполнение, поэтому прошу прощения, если формат неправильный :p
Резюме: Прямо сейчас моя программа может сохранять и считывать информацию из текстового файла благодаря open()
, но я не знаю, как заставить текстовые вводы Kivy автоматически заполняться на основе информации, которую они читают из текстового файла.
Я ищу функцию, в которой, как только я открываю экран, текстовые вводы автоматически заполняются информацией из файла, разделенной Split()
Вот мой файл Kv и мой файл Txt: DataInfo.text
<CarInfo>:
name: "carI"
modAuto: modAuto
colAuto: colAuto
patAuto: patAuto
GridLayout:
cols:1
size: root.width - 200, root.height -200
pos: 100, 100
GridLayout:
cols:2
Label:
text: "Car Model: "
TextInput:
id: modAuto
multiline:False
Label:
text: "Car Color: "
TextInput:
id: colAuto
multiline:False
Label:
text: "Car patent: "
TextInput:
id: patAuto
multiline:False
Button:
text:"Submit"
size_hint: 0.4, 0.1
on_press: root.SaveDataInFile()
Button:
text: "Go Back"
size_hint: 0.4, 0.1
on_release:
app.root.current = "startS"
root.manager.transition.direction = "down"
И вот мое Database.py
amp; class CarInfo()
на случай, если вам нужно знать:
class CarInfo(Screen):
modAuto = ObjectProperty(None)
colAuto = ObjectProperty(None)
patAuto = ObjectProperty(None)
def SaveDataInFile(self):
if self.modAuto.text != "" and self.colAuto.text != "" and self.patAuto.text != "":
DB.add_Info(self.modAuto.text, self.colAuto.text, self.patAuto.text)
confirmacionDatos()
WM.current = "carI"
else:
invalidForm() #Pop-Up Screen
# database.py
class DataBase:
def __init__(self, filename):
self.filename = filename
self.InfoAuto = None
self.load()
def load(self):
self.file = open(self.filename, "r")
content = self.file.read()
modAuto, colAuto, patAuto = content.strip().split(";") #delimiter
self.file.close()
def get_Info(self):
self.file = open(self.filename, "r")
content = self.file.read()
modAuto, colAuto, patAuto = content.strip().split(";") #delimiter
self.file.close()
return modAuto, colAuto, patAuto
def add_Info(self, modAuto, colAuto, patAuto):
with open(self.filename, "w") as f:
f.write(modAuto ";" colAuto ";" patAuto)
return 1