Я пытаюсь создать свое первое приложение, используя Python и Kivy. Я пытаюсь создать простое приложение для упражнений, используя это руководство GUI в качестве исходного шаблона https://techwithtim.net/tutorials/kivy-tutorial/setup/.
. В настоящее время я получил свой код до того момента, когда я введу данные в виджеты ввода текста и нажмите кнопку отправки, он ничего не делает и не выводит ошибок. В конце я помещаю ответную печать «success» или «fail», и она просто возвращает «fail» в моем терминале.
Я использую четыре файла; main.py, database.py, my.kv & упражнения.txt (мое местоположение записи), которые находятся в одном каталоге.
Вот наиболее важные части моего кода; (следующее из main.py)
class ArmMenu(Screen):
exercise = ObjectProperty(None)
weight = ObjectProperty(None)
reps = ObjectProperty(None)
sets = ObjectProperty(None)
def submit(self):
if self.weight.text != "" and self.reps.text != "" and self.sets.text != "":
db.save()
sm = WindowManager()
db = DataBase("exercises.txt")
kv = Builder.load_file("my.kv")
(следующее из database.py)
class DataBase:
def __init__(self, filename):
self.filename = filename
self.file = None
self.exercises = None
self.load()
def load(self):
self.file = open(self.filename, "r")
self.exercises = {}
for line in self.file:
exercise, weight, reps, sets = line.strip().split(";")
self.exercises[exercise] = (weight, reps, sets)
self.file.close()
def save(self):
with open(self.filename, "w+") as f:
for exercise in self.exercises:
f.write(exercise + ";" + self.exercises[exercise][0] + ";"
+ self.exercises[exercise][1] + ";" + self.exercises[exercise][2] + "\n")
return
print("saved")
else:
print("failed")
Эта функция вызывается из my.kv "root .submit", связанного с кнопкой.
Я пытаюсь добиться записи массива строк в файл в одну строку в формате "имя упражнения [id ] + [значение веса] + [количество повторений] + [устанавливает значение]
Я впервые пишу в стеке, и я очень новичок в программировании, поэтому заранее прошу прощения, если я что-то не сказал или не сделал так плохо.
Не думаю, что я что-то упустил, но если я, пожалуйста, дайте мне знать и напишите.