@Ginebra

Как передать переменную из одного класса в другой и занести ее в бд, не изменяя остальное в бд?

я пишу программу на питоне с помощью QtDesignera. так вот, у меня появляется окно, в котором пользователь(в самом начале он регистрируется или входит, если уже зарегистрировался. при этом в базе данных сохраняется его пароль, имя и результат = 0) за определенное время должен ввести ответы на математические примеры и нажать кнопку Okey, после чего в новом окно должны появиться "Поздравляю! ваш результат:" и количество правильно решенных задач. но результат, в котором считается правильные ответы реализуется в одном классе, а окно вывода - в другом. как записать его количество верных ответов в бд, а потом вывести их.

class Test(QMainWindow):
    def __init__(self):
        super().__init__()
        uic.loadUi('test.ui', self)

        self.checkBut.clicked.connect(self.result)

    def answers(self):
        self.answers = [self.answer_1.text(), self.answer_2.text(), self.answer_3.text(), 
                        self.answer_4.text(), self.answer_5.text(), self.answer_6.text(), 
                        self.answer_7.text(), self.answer_8.text(), self.answer_9.text(), 
                        self.answer_10.text(), self.answer_11.text(), self.answer_12.text(), 
                        self.answer_13.text(), self.answer_14.text(), self.answer_15.text(), 
                        self.answer_16.text(), self.answer_17.text(), self.answer_18.text(), 
                        self.answer_19.text(), self.answer_20.text(), self.answer_21.text(), 
                        self.answer_22.text(), self.answer_23.text(), self.answer_24.text(), 
                        self.answer_25.text(), self.answer_26.text(), self.answer_27.text(),
                        self.answer_28.text(), self.answer_29.text(), self.answer_30.text(),]
        self.right = [32, 7, 14, 427, 68, 56, 3, 432, 18, 7, 712, 7, 98, 28, 783, 
                      9, 354, 35, 9, 49, 127, 387, 8, 36, 72, 206, 6, 315, 226, 42]

        global right_answers
        right_answers = 0

        for i in range(0, 30):
            if int(self.answer[i]) == int(self.right[i]):
                right_answer += 1

    def add_result(self, result):
        self.result = result

    def result(self):
        self.check = True
        self.result.show()
        self.close()


class Result(QMainWindow):
    def __init__(self):
        super().__init__()
        uic.loadUi('result.ui', self)

    def add_rating(self, rating):
        self.rating = rating

    def right_ans(self, right_answers):
        self.result_test.setText(self.right_answers)
  • Вопрос задан
  • 349 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы