Как сбросить нажатие Radiobutton в pyqt5?

Имеется, к примеру, два radiobutton. Пользователь нажимает на одну из них. Скажите, пожалуйста, как сделать так, чтобы можно было сбросить его нажатие и кнопка опять стала не нажатой?

import sys

from PyQt5.QtWidgets import QMainWindow, QApplication, QWidget, \
    QGridLayout, QPushButton, QLabel, QHBoxLayout, QVBoxLayout, QLineEdit, QRadioButton
from PyQt5.QtCore import QTimer, QTime, Qt
from PyQt5.QtGui import QFont, QIcon, QPixmap

question_names = ['Вопрос 1', 'Вопрос 2', 'Вопрос 3', 'Вопрос 4', 'Вопрос 5']

question_values = {0: 'Верно ли, что информация в компьютере хранится\nв двоичном коде?',
                   1: 'Наименьшая единица информации называется:',
                   2: 'Элементной базой первых компьютеров являлись:',
                   3: 'Назовите устройства вывода информации:',
                   4: 'Назовите системы программирования:'}

question_answers = {
    0: ['Только числовая', 'Только числовая и текстовая', 'Любая информация', 'Вся за исключением видео'],
    1: ['байт', 'бит', 'бод', 'бит/с'],
    2: ['Микросхемы', 'Дискретные полупроводники', 'Радиолампы', 'Транзисторы'],
    3: ['Монитор', 'Мышь', 'Клавиатура', 'Принтер'],
    4: ['Delphi', 'Visual Basic', 'Microsoft', 'Turbo Pascal']
}

right_answers = {0: 'Любая информация',
                 1: 'бит',
                 2: 'Радиолампы',
                 3: 'Мышь',
                 4: 'Visual Basic'}


class FormBuilder(QWidget):
    def __init__(self, parent=None):
        super().__init__(parent)

        self.question_number = 0
        self.selected_answer = ''
        self.all_right_answers = 0

        self.create_all_forms()
        self.fill_forms()
        self.create_layers()

    def create_all_forms(self):
        self.question_name = QLabel(self)
        self.question_value = QLabel(self)
        self.option_label = QLabel(self)

        self.first_rbutton = QRadioButton(self)
        self.second_rbutton = QRadioButton(self)
        self.third_rbutton = QRadioButton(self)
        self.fourth_rbutton = QRadioButton(self)

        self.check_answer_button = QPushButton(self)
        self.next_button = QPushButton(self)
        self.lower_text_label = QLabel(self)

    def fill_forms(self):
        self.question_name.setText(question_names[self.question_number])
        self.question_name.setFont(QFont("Times", 28, QFont.Bold))

        self.question_value.setText(question_values[self.question_number])
        self.question_value.setFont(QFont("Times", 16, QFont.Cursive))

        self.option_label.setText('Варианты ответов:')
        self.option_label.setFont(QFont("Times", 16, QFont.DemiBold))

        self.first_rbutton.setText(question_answers[self.question_number][0])
        self.first_rbutton.setFont(QFont("Times", 16, QFont.Cursive))
        self.first_rbutton.value = question_answers[self.question_number][0]
        self.first_rbutton.toggled.connect(self.onClickedRadio)

        self.second_rbutton.setText(question_answers[self.question_number][1])
        self.second_rbutton.setFont(QFont("Times", 16, QFont.Cursive))
        self.second_rbutton.toggled.connect(self.onClickedRadio)
        self.second_rbutton.value = question_answers[self.question_number][1]

        self.third_rbutton.setText(question_answers[self.question_number][2])
        self.third_rbutton.setFont(QFont("Times", 16, QFont.Cursive))
        self.third_rbutton.toggled.connect(self.onClickedRadio)
        self.third_rbutton.value = question_answers[self.question_number][2]

        self.fourth_rbutton.setText(question_answers[self.question_number][3])
        self.fourth_rbutton.setFont(QFont("Times", 16, QFont.Cursive))
        self.fourth_rbutton.toggled.connect(self.onClickedRadio)
        self.fourth_rbutton.value = question_answers[self.question_number][3]

        self.check_answer_button.setText('Проверить ответ')
        self.check_answer_button.setFont(QFont("Times", 16, QFont.DemiBold))
        self.check_answer_button.clicked.connect(self.onClickedCheck)

        self.next_button.setText('Перейти далее')
        self.next_button.setFont(QFont("Times", 16, QFont.DemiBold))
        self.next_button.clicked.connect(self.onClickedNext)
        self.next_button.setEnabled(False)

        self.lower_text_label.setText('Нажмите "Проверить ответ" для проверки.')
        self.lower_text_label.setFont(QFont("Times", 16, QFont.Cursive))
        self.lower_text_label.setStyleSheet(
            'border-style: solid; border-width: 1px; border-color: gray; border-radius: 6;')

    def create_layers(self):
        layout = QVBoxLayout(self)

        question_number_layer = QHBoxLayout()
        question_number_layer.addWidget(self.question_name)
        layout.addLayout(question_number_layer)

        question_value_layer = QHBoxLayout()
        question_value_layer.addWidget(self.question_value)
        layout.addLayout(question_value_layer)

        option_layer = QHBoxLayout()
        option_layer.addWidget(self.option_label)
        layout.addLayout(option_layer)

        options_horizontal_layer = QHBoxLayout()
        options_layer = QVBoxLayout()
        options_layer.addWidget(self.first_rbutton)
        options_layer.addWidget(self.second_rbutton)
        options_layer.addWidget(self.third_rbutton)
        options_layer.addWidget(self.fourth_rbutton)
        options_horizontal_layer.addLayout(options_layer)
        layout.addLayout(options_horizontal_layer)

        buttons_layer = QHBoxLayout()
        buttons_layer.addWidget(self.check_answer_button)
        buttons_layer.addWidget(self.next_button)
        layout.addLayout(buttons_layer)

        text_layer = QHBoxLayout()
        text_layer.addWidget(self.lower_text_label)
        layout.addLayout(text_layer)

    def turn_rbuttons(self, point):
        self.first_rbutton.setEnabled(point)
        self.second_rbutton.setEnabled(point)
        self.third_rbutton.setEnabled(point)
        self.fourth_rbutton.setEnabled(point)

    def turn_check_button(self, point):
        self.check_answer_button.setEnabled(point)

    def onClickedRadio(self):
        radioButton = self.sender()
        if radioButton.isChecked():
            self.selected_answer = radioButton.value

    def onClickedCheck(self):
        try:
            self.check_answer_button.clicked.disconnect()
        except:
            pass

        if self.selected_answer == right_answers[self.question_number]:
            self.lower_text_label.setText('Правильный ответ!')
            self.all_right_answers += 1
            self.question_number += 1
            self.turn_rbuttons(False)
            self.turn_check_button(False)
            self.next_button.setEnabled(True)
        else:
            self.lower_text_label.setText('Неправильный ответ!')
            self.question_number += 1
            self.turn_rbuttons(False)
            self.turn_check_button(False)
            self.next_button.setEnabled(True)

    def onClickedNext(self):
        self.fill_forms()
        self.turn_rbuttons(True)
        self.turn_check_button(True)


class MainWindow(QMainWindow):
    def __init__(self):
        super().__init__()

        self.centralWidget = QWidget()
        self.setCentralWidget(self.centralWidget)

        self.build_skeleton_with_basic_settings()
        self.create_and_connect_grid()

    def build_skeleton_with_basic_settings(self):
        self.setFixedSize(500, 360)
        self.setWindowTitle('Тест по информатике')

    def create_and_connect_grid(self):
        self.grid = QGridLayout(self.centralWidget)
        self.formBuilder = FormBuilder()
        self.grid.addWidget(self.formBuilder, 0, 0, Qt.AlignTop)


if __name__ == '__main__':
    app = QApplication(sys.argv)
    ex = MainWindow()
    ex.show()
    sys.exit(app.exec_())

Ответы (0 шт):