Python 3. Поделитесь опытом работы с модулем PyQt5

Павел Алтынников

Всем привет
Есть глобальная задача: нужно написать тест по знаниям AutoCAD.
Я создал класс window с вопросом (QLabel), с 4мя "RadioButton" и кнопкой "следующий вопрос".
В модуле main вызвал его.

import sys
from dialog_box import *

app = QApplication(sys.argv)
win1 = window()

sys.exit(app.exec_())

Вот теперь вопрос: как ПРАВИЛЬНО настроить перепись содержимого QLabel() и QRadioButton() при нажатии на кнопку "следующий вопрос"?
Как это выполнено у меня: внутри класса window есть метод next_qu

    def next_qu(self, lbl, ans1, ans2, ans3, ans4):
            lbl.setText('Вы работали в нем?')
            ans1.setText('да')
            ans2.setText('нет')
            ans3.setText('не помню')
            ans4.setText('не хочу')

Но мне эти значения надо забирать из списка, не пойму как это связать.
И второй дополнительный вопрос: как понять программе какой из ответов правильный?
Была мысль использовать вложенные списки, но не знаю наколько это эффективно.

Весь имеющийся код на данный момент:

import sys
from PyQt5.QtWidgets import QApplication, QWidget, QLabel, QPushButton, QRadioButton, QVBoxLayout, QMainWindow

class window(QWidget):

    def __init__(self):
        super().__init__()

        self.init_ui()

    def init_ui(self):

        self.lbl = QLabel('Что такое AutoCAD?')
        self.ans1 = QRadioButton('Наикрутейшая супер программа')
        self.ans2 = QRadioButton('Электронный кульман')
        self.ans3 = QRadioButton('Программа для упрощения жизни проектировщика')
        self.ans4 = QRadioButton('ОТВРАТИТЕЛЬНАЯ ШЛЯПА ДА ПРОВАЛИСЬ ОН ПРОПАДОМ!')
        self.btn = QPushButton('Следующий вопрос')

        layout = QVBoxLayout()
        layout.addWidget(self.lbl)
        layout.addWidget(self.ans1)
        layout.addWidget(self.ans2)
        layout.addWidget(self.ans3)
        layout.addWidget(self.ans4)
        layout.addWidget(self.btn)

        self.setLayout(layout)
        self.setWindowTitle('ТЕСТ')

        self.btn.clicked.connect(lambda: self.next_qu(self.lbl, self.ans1, self.ans2, self.ans3, self.ans4))
        self.show()

    def next_qu(self, lbl, ans1, ans2, ans3, ans4):

        lbl.setText('Вы работали в нем?')
        ans1.setText('да')
        ans2.setText('нет')
        ans3.setText('не помню')
        ans4.setText('не хочу')
1 чел.