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('не хочу')
11 сентября 2017 в 12:58
Ближайшие курсы

Как начать свой путь в разработке?
Онлайн-курс
8
марта
Интенсив «Сегментация клиентов. С чего начать?»
Онлайн-курс
8
марта
Открытое онлайн собеседование со студентом на вакансию junior frontend-разработчика
Онлайн-курс
8
марта
Новые статьи

Что такое MVP и как к нему подступиться
331800

Обновляем программу обучения для менеджеров по продажам
42200

BI-системы: что это и зачем они нужны бизнесу
334800