nord vpnnord vpn
Ad

Untitled

mail@pastecode.io avatar
unknown
plain_text
23 days ago
3.5 kB
2
Indexable
Never
from kivy.app import App
from kivy.uix.button import Button
from kivy.uix.label import Label
from kivy.uix.boxlayout import BoxLayout
from kivy.uix.screenmanager import ScreenManager, Screen


class QuestionScr(Screen):
    def __init__(self, name='question_1',next_screen_name='question_2', quest_text='',answers=[],right_answer_num=0):
        super().__init__(name=name)
        self.right_answer_num = right_answer_num
        self.next_screen_name = next_screen_name

        txt = Label(text=quest_text)
        self.btn = Button(text=answers[0])
        self.btn2 = Button(text=answers[1])
        self.btn3 = Button(text=answers[2])
        self.btn4 = Button(text=answers[3])

        self.buttons = [self.btn,self.btn2,self.btn3,self.btn4]

        self.btn.on_press = self.on_btn1
        self.btn2.on_press = self.on_btn2
        self.btn3.on_press = self.on_btn3
        self.btn4.on_press = self.on_btn4

        self.layout = BoxLayout(orientation="vertical")
        self.layout.add_widget(txt)
        self.layout.add_widget(self.btn)
        self.layout.add_widget(self.btn2)
        self.layout.add_widget(self.btn3)
        self.layout.add_widget(self.btn4)

        self.add_widget(self.layout)

    def on_btn1(self):
        if self.right_answer_num != 0:
            self.btn.background_color = [1, 0, 0, 1]

        self.buttons[self.right_answer_num].background_color = [0, 1, 0, 1]
        self.show_btn_next()

    def on_btn2(self):
        if self.right_answer_num != 1:
            self.btn2.background_color = [1, 0, 0, 1]

        self.buttons[self.right_answer_num].background_color = [0, 1, 0, 1]
        self.show_btn_next()

    def on_btn3(self):
        if self.right_answer_num != 2:
            self.btn3.background_color = [1, 0, 0, 1]

        self.buttons[self.right_answer_num].background_color = [0, 1, 0, 1]
        self.show_btn_next()

    def on_btn4(self):
        if self.right_answer_num != 3:
            self.btn4.background_color = [1, 0, 0, 1]

        self.buttons[self.right_answer_num].background_color = [0, 1, 0, 1]
        self.show_btn_next()

    def show_btn_next(self):
        self.btn_next = Button(text='следующий вопрос')
        self.btn_next.on_press = self.next
        self.layout.add_widget(self.btn_next)

    def next(self):
        self.manager.transition.direction = 'left'
        self.manager.current = self.next_screen_name


class MyApp(App):
    def build(self):
        sm = ScreenManager()
        sm.add_widget(QuestionScr(name='question_1', next_screen_name='question_2', quest_text='Фамилия известного ютюбера Дима...?',answers=["Масленников","Пряников","Сметанкин","Буря"],right_answer_num=0))
        sm.add_widget(QuestionScr(name='question_2', next_screen_name='question_3', quest_text='Дима Масленников делал ролик на тему:',answers=["Киси Миси и Хаги Ваги","Рондо и Кола","Перевал Дятлова","Разработка на Python"],right_answer_num=2))
        sm.add_widget(QuestionScr(name='question_3', next_screen_name='question_3', quest_text='Сколько примерно подписчиков у Димы Масленникова',answers=["100+","Более 16 миллионов","Меньше 10.000","1 - 2 миллиона"],right_answer_num=1))
        return sm


app = MyApp()
app.run()
Leave a Comment


nord vpnnord vpn
Ad