Доброго времени суток! Друзья, дело в том, что я сделал игру "Викторина" с помощью tkinter под винду. Теперь же, у меня появилась цель "перенести" код на фрейм kivy и сделать программу под Android систему.
Код на tkinter (урезанная версия викторины, в оригинале вопросов будет побольше):
from tkinter import *
from tkinter import messagebox
win = Tk()
win.geometry("500x100")
def q1():
qu1 = Label(win, text='Привет. Ты готов?) Если да, то введи "Поехали"')
a1 = Entry()
bt1 = Button(win, text='Дальше', command=lambda: g1(q2))
qu1.grid(row=0)
a1.grid(row=1)
bt1.grid(row=2)
def g1(q2):
if a1.get().lower() == "поехали":
messagebox.showinfo("Начинаем!", "Отвечай максимально грамотно и четко. Если ответишь неправильно - сброс. Встретимся в конце)")
qu1.grid_forget()
q2()
else :
messagebox.showerror("Нетушки!", "Поехали введи, шо ты тут пишешь?)")
def q2():
qu2 = Label(win, text='2+2')
a2 = Entry()
bt2 = Button(win, text='Дальше', command=lambda: g2(q3))
qu2.grid(row=0)
a2.grid(row=1)
bt2.grid(row=2)
def g2(q3):
if a2.get().lower() == "4" :
messagebox.showinfo("Да!", "Ну это было слишком легко...")
qu2.grid_forget()
q3()
else :
messagebox.showerror("Нетушки!", "Неправильно!")
def q3():
qu3 = Label(win, text='Напиши слово правильно: Р@ЗД@ВАТЬ?')
a3 = Entry()
bt3 = Button(win, text='Дальше', command=lambda: g3(q3))
qu3.grid(row=0)
a3.grid(row=1)
bt3.grid(row=2)
def g3(q3):
if a3.get().lower() == "раздавать" :
messagebox.showinfo(":)", "Викторина пройдена!")
else :
qu3.grid_forget()
q2()
messagebox.showerror("Нетушки!","Неправильно!")
q1()
win.title("Test")
win.mainloop()
Структура программы такова: каждый вопрос - это отдельная функция, в которой есть подфункция проверки ответа (правильно - уведомление о правильности, следующий вопрос (функция), неправильно - уведомление о ошибке, возврат к первому вопросу (второй функции по счету)). Все довольно просто. При старте вызывается функция 1, по кнопке идет проверка по подфункции, если условие соблюдено - переход к функции 2 и так до последнего вопроса.
Интересует именно: как мне перенести такие команды как win = Tk() , qu1 = Label , a1 = Entry , bt1 = Button , a1.get() , messagebox.showinfo , messagebox.showerror ... и прочие команды именно для Tkinter на Kivy (прошу вас мне написать аналоги)
Я не прошу написать код программы за меня, я лишь прошу объяснить мне, как именно заменять все это дело, не нарушая структуру выполнения программы (но если кто-то напишет готовый код и даст пояснения к действиям, то это будет вообще шикарно и нет предела моему счастью). Я пытался изучить информацию самостоятельно, но без толку. Ничего не получается, вылетают разного рода ошибки, краши и тд. Даже в пример не могу код привести, ибо уверен, что он корявый, и никак ситуацию не прояснит.