Подсказка 50/50 + файлы

Я хочу, чтобы после активации кнопку 50/50 убиралось 2 варианта ответа и оставались два, из которых один правильный.

Ну типа функция была активна для одного вопроса (Когда нажмёт игрок). А у меня убрались два варианта ответа на все вопросы.

Вроде можно так: rbtn.setEnabled (True). Но не помагает.

Код:

import sys
from PyQt5.QtWidgets import *
from PyQt5.QtGui import *
from PyQt5.QtCore import *
import webbrowser
import random 


class WindowGroup(QWidget):
    def __init__(self):
        super().__init__()
        self.setObjectName('windowgroup')

        self.list_questions = [                  
            '<h1 style="color: rgb(185, 255, 0);">Що приказка не радить виносити з хати, щоб не розголошувати сімейні розбрати?</h1>',
            '<h1 style="color: rgb(185, 255, 0);">Який материк найбільший?</h1>',
            '<h1 style="color: rgb(185, 255, 0);">Куди вказує червона стрілка компаса?</h1>',
            '<h1 style="color: rgb(185, 255, 0);">Який пігмент забарвлює листя в зелений колір?".?</h1>',
            '<h1 style="color: rgb(185, 255, 0);">Який препарат марно намагалися отримати середньовічні алхіміки?".?</h1>',
            '<h1 style="color: rgb(185, 255, 0);">Як правильно кликати гусака?".?</h1>',
            '<h1 style="color: rgb(185, 255, 0);">Якій кухні належить блюдо "форшмак"?".?</h1>',
            '<h1 style="color: rgb(185, 255, 0);">Яку рослину називають «живим світлофором»?".?</h1>',
            '<h1 style="color: rgb(185, 255, 0);">Що є туманністю Андромеди?".?</h1>',
            '<h1 style="color: rgb(185, 255, 0);">Назвіть офіційну мову Шрі-Ланки:".?</h1>',
            '<h1 style="color: rgb(185, 255, 0);">Столицею якої країни є місто Богота?".?</h1>',
            '<h1 style="color: rgb(185, 255, 0);">Які літальні апарати конструював Отто Ліліенталь?".?</h1>',
            '<h1 style="color: rgb(185, 255, 0);">У якому столітті в Китаї почали добувати залізо?".?</h1>',
            '<h1 style="color: rgb(185, 255, 0);">У якій мові програмування немає засобів роботи з файлами?".?</h1>',
            '<h1 style="color: rgb(185, 255, 0);">У яких тварин офіційно реєструвалися сонячні удари, подібні до людських?".?</h1>',
        ]

        self.quantity_questions = len(self.list_questions) 

        self.list_buttons = [                                     
            ['А: Сміття', 'В: Сор', 'С: Пил', 'D: Меблі'],
            ['А: Північна Америка', 'В: Південна Америка', 'С: Африка', 'D: Євразія'],
            ['А: Північ', 'В: Схід', 'С: Захід', 'D: Південь'],
            ['А: Каротин', 'В: Антоціан', 'С: Хлорофіл', 'D: Танін'],
            ['А: Настоянку мудрості', 'В: Засіб від лупи', 'С: Еліксир життя', 'D: Напій сміливості'],
            ['А: Киць-киць', 'В: Гуль-гуль', 'С: Тега-тега', 'D: Курчат-курчат'],
            ['А: Єврейській', 'В: Грузинській', 'С: Китайській', 'D: Індійській'],
            ['А: Акаліфа', 'В: Медуниця', 'С: Маранта', 'D: Кротон'],
            ['А: Метеорит', 'В: Зірка', "С: Сузір'я", 'D: Галактика'],
            ['А: Урду', 'В: Сінгальский', 'С: Бенгальський', 'D: Брахми'],
            ['А: Чилі', 'В: Перу' ,'С: Аргентина', 'D: Колумбія'],
            ['А: Вертольоти', 'В: Дирижаблі', 'С: Літаки-біплани', 'D: Планери'],
            ['А: 4 вік до н.е', 'В: 2 вік', 'С: 3 вік', 'D: 5 вік до н.е.'],
            ['А: PHP', 'В: Delphi', 'С: C++', 'D: JavaScript'],
            ['А: У собак', 'В: У кішок', 'С: У свиней', 'D: У кроликів']
        ]
        self.list_yes_buttons = [                      
            'А: Сміття',
            'D: Євразія',
            'D: Південь',
            'С: Хлорофіл',
            'С: Еліксир життя',
            'С: Тега-тега',
            'А: Єврейські',
            'В: Медуниця',
            'D: Галактика',
            'В: Сінгальский',
            'D: Колумбія',
            'D: Планери',
            'D: 5 вік до н.е.',
            'D: JavaScript',
            'D: У кроликів'
        ]
        self.current_question = 0 

        self.label = QLabel(self.list_questions[self.current_question])

        self.radioGroupBox = QGroupBox('') 
        self.radioGroup = QButtonGroup() 

        self.rbtn_1 = QPushButton('А: Сміття')
        self.rbtn_2 = QPushButton('В: Сор')
        self.rbtn_3 = QPushButton('С: Пил')
        self.rbtn_4 = QPushButton('D: Меблі')

        self.radioGroup.addButton(self.rbtn_1)
        self.radioGroup.addButton(self.rbtn_2)
        self.radioGroup.addButton(self.rbtn_3)
        self.radioGroup.addButton(self.rbtn_4)

        self.hint_5050 = QPushButton(self)
        self.hint_5050.setIcon(QIcon('5050_normal.png'))
        self.hint_5050.setIconSize(QSize(105, 90))
        self.hint_5050.setFixedSize(120, 100)

        self.hint_audience = QPushButton(self)
        self.hint_audience.setIcon(QIcon('audience_normal.png'))
        self.hint_audience.setIconSize(QSize(105, 90))
        self.hint_audience.setFixedSize(120, 100)

        self.hint_expert = QPushButton(self)
        self.hint_expert.setIcon(QIcon('expert_normal.png'))
        self.hint_expert.setIconSize(QSize(105, 90))
        self.hint_expert.setFixedSize(120, 100)      

        self.hint_switch = QPushButton(self)
        self.hint_switch.setIcon(QIcon('switch_2_normal.png'))
        self.hint_switch.setIconSize(QSize(105, 90))
        self.hint_switch.setFixedSize(120, 100)         

        layout_ans1 = QHBoxLayout()  
        layout_ans2 = QVBoxLayout()
        layout_ans3 = QVBoxLayout()
        layout_ans2.addWidget(self.rbtn_1) 
        layout_ans2.addWidget(self.rbtn_2)
        layout_ans3.addWidget(self.rbtn_3) 
        layout_ans3.addWidget(self.rbtn_4)

        layout_ans1.addLayout(layout_ans2)
        layout_ans1.addLayout(layout_ans3) 

        self.radioGroupBox.setLayout(layout_ans1)

        layout = QVBoxLayout(self)
        layout.addWidget(self.label, alignment=Qt.AlignCenter)
        layout.addWidget(self.radioGroupBox)


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

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

        self.num = 3

        self.question = QLabel('<h1 style="color: rgb(250, 55, 55);">Правила гри')

        self.rules = QLabel('''Гра "Хто хоче стати мільйонером?" 
\
Ви повинні правильно відповісти на низку питань \
з кількома варіантами відповідей, щоб заробити 3.000.000 грн. \
Всього 15 питань, кожне питання коштує певної суми грошей, \
учасники не мають жодних тимчасових обмежень для надання \
відповіді. Учасник також отримуює 4 види підказок, щоб допомогти собі, \
якщо вони застрягли на конкретному питанні.  
\
Більше ознайомитися з правилами можна, натиснувши на кнопку. 
\
Хай щастить!''')
        self.rules.setStyleSheet("""
        font: bold;
        color: rgb(185, 255, 0);
    """)
        self.rules.setFixedSize(1010,450)
        self.rules.setObjectName('rules')
        self.rules.setWordWrap(True)    

        self.button_rules = QPushButton('Правила')
        self.button_rules.clicked.connect(lambda: webbrowser.open('https://ru.wwbm.com/rules'))
        self.button_rules.setFixedSize(300,50)


        self.button_start = QPushButton('Почати', clicked=self._start)  
        self.button_start.setFixedSize(300,50)
        
        
        self.layout = QVBoxLayout(self.centralWidget)
        
        self.lineH1 = QHBoxLayout()
        lineH2 = QHBoxLayout()
        lineH3 = QHBoxLayout()
        self.lineH1.addWidget(self.question, alignment=Qt.AlignHCenter)
        lineH2.addWidget(self.rules)
        lineH3.addWidget(self.button_rules, alignment=Qt.AlignCenter)
        lineH3.addWidget(self.button_start, alignment=Qt.AlignCenter)
        self.layout.addLayout(self.lineH1)
        self.layout.addWidget(self.rules, alignment=Qt.AlignHCenter)
        self.layout.addLayout(lineH3)


        
        self.timer = QTimer(self)
        self.timer.timeout.connect(self.update_timer)

        self.windowGroup = WindowGroup()

        self.windowGroup.rbtn_1.clicked.connect(self.on_clicked)
        self.windowGroup.rbtn_2.clicked.connect(self.on_clicked)
        self.windowGroup.rbtn_3.clicked.connect(self.on_clicked)
        self.windowGroup.rbtn_4.clicked.connect(self.on_clicked)

        self.list_rbtn = [
            self.windowGroup.rbtn_1,
            self.windowGroup.rbtn_2,
            self.windowGroup.rbtn_3,
            self.windowGroup.rbtn_4,
        ] 
        self.correct_answer = '<h1 style="color: #4E9F3D;">Це вірна відповідь!</h1>'
        self.wrong_answer = '<h1 style="color: #DA0037;">Це НЕ вірна відповідь!</h1>'

        self.windowGroup.hint_5050.clicked.connect(self.clicked_5050)

    def on_clicked(self):
        self.windowGroup.setEnabled(False)
        sender = self.sender()  
        self.sender_click = sender
        if sender.text() in self.windowGroup.list_yes_buttons:
            sender.setStyleSheet("background-color: green;")
            self.windowGroup.label.setText(
                f'{self.windowGroup.list_questions[self.windowGroup.current_question]} \
                {self.correct_answer}' 
            )                 
        else:
            sender.setStyleSheet("background-color: red;") 
            self.windowGroup.label.setText(
                f'{self.windowGroup.list_questions[self.windowGroup.current_question]} \
                {self.wrong_answer}' 
            )         
            self.windowGroup.current_question = self.windowGroup.quantity_questions
            self.num = 3    
        self.windowGroup.label.setAlignment(Qt.AlignCenter)

        QTimer.singleShot(3000, self.third)  

    def set_stylesheet(self):  
            self.setStyleSheet("""
                QLabel, QPushButton {
                    font-size: 20pt;
                }
                #rules { 
                    background-color: #ccffbd;
                }
                #windowgroup > QLabel { 
                    font-size: 11pt;
                }
                #windowgroup > QGroupBox { 
                    background-color: #a44500;
                    font-size: 20pt;
                    width: 620px; height: 49px;
                }
                QPushButton {
                    background-color: #D98C00;
                    font-size: 34px;
                }
                QPushButton:hover {
                    background-color: #0082fc;
                    border: 2px solid #FFA6D5;
                }
                #centralWidget {
                    background-image: url(first.jpg);
                }
            """) 
        
    def update_timer(self):        
        self.question.setText(f'<h1 style="color: rgb(250, 55, 55);">{self.num}</h1>')
        if self.num == 0:
            self.timer.stop()
            
            self.set_stylesheet()                 

            self.question.setPixmap(QPixmap("million.png"))
            self.num = 3
            self.rules.hide()
            self.button_start.hide()
            self.button_rules.hide()
            self.layout.addWidget(self.windowGroup, alignment=Qt.AlignHCenter)

            self.lineH1.insertStretch(0)
            self.lineH1.insertWidget(1, self.windowGroup.hint_5050)
            self.lineH1.insertStretch(2)
            self.lineH1.insertWidget(3, self.windowGroup.hint_audience)
            self.lineH1.insertStretch(4)
            self.lineH1.insertStretch(-1)
            self.lineH1.insertWidget(-1, self.windowGroup.hint_expert)
            self.lineH1.insertStretch(-1)
            self.lineH1.insertWidget(-1, self.windowGroup.hint_switch)
            self.lineH1.insertStretch(-1)

            return            
        self.num -= 1        

    def _start(self):
        self.timer.start(1000)     

    def third(self):
        self.windowGroup.setEnabled(True)
        
        if self.windowGroup.current_question + 1 < self.windowGroup.quantity_questions:

            self.windowGroup.current_question += 1
            
            self.windowGroup.label.setText(
                self.windowGroup.list_questions[self.windowGroup.current_question])
            
            self.windowGroup.rbtn_1.setText(
                self.windowGroup.list_buttons[self.windowGroup.current_question][0])
            self.windowGroup.rbtn_2.setText(
                self.windowGroup.list_buttons[self.windowGroup.current_question][1])
            self.windowGroup.rbtn_3.setText(
                self.windowGroup.list_buttons[self.windowGroup.current_question][2])
            self.windowGroup.rbtn_4.setText(
                self.windowGroup.list_buttons[self.windowGroup.current_question][3])                
            
            self.set_stylesheet()            
        else:
            self.windowGroup.label.setText(
                '<h1 style="color: #FFDD93;">Гру закінчено, дякуємо за участь!</h1>'
            )             
            self.windowGroup.setEnabled(False)
            self.sender_click.setStyleSheet(
                "background-color: #D98C00; width: 780px; height: 49px;")
            self.set_stylesheet() 
            
        for rbtn in self.list_rbtn:    
            rbtn.setStyleSheet(
                "background-color: #D98C00; width: 780px; height: 49px;")
            
        self.windowGroup.label.setAlignment(Qt.AlignCenter)   

    def clicked_5050(self):
        self.windowGroup.hint_5050.setEnabled(False)
        
        current_question = self.windowGroup.current_question
        list_yes_buttons = self.windowGroup.list_yes_buttons[current_question]
        list_5050 = [list_yes_buttons,]
        
        not_buttons = self.windowGroup.list_buttons[current_question]
        not_buttons.remove(list_yes_buttons)
        not_buttons = random.choices(not_buttons)

        list_5050.append(not_buttons[0])
        
        for rbtn in self.list_rbtn:
            if rbtn.text() in list_5050:
                pass
            else:
                rbtn.setEnabled(False)

    def activation(self):
        self.windowGroup.rbtn_1.setEnabled(True)
        self.windowGroup.rbtn_2.setEnabled(True)
        self.windowGroup.rbtn_3.setEnabled(True)
        self.windowGroup.rbtn_4.setEnabled(True)
        
    def clicked_audience(self):
        pass

        
        

if __name__ == "__main__":
    import sys
    app = QApplication(sys.argv)
    app.setStyleSheet("""
        QLabel {
            font-size: 20pt;
        }
        QPushButton { 
            font-size: 20pt;
            background-color: #ff8000;
        }
        #centralWidget {
            background-image: url(first.jpg);
        }

    """)     
    w = MainWindow()          
    w.setWindowTitle('Million')  
    w.resize(1700, 770)
    w.move(125, 110)
    w.show()                           
    sys.exit(app.exec_())

Файлы: введите сюда описание изображения введите сюда описание изображения введите сюда описание изображения введите сюда описание изображения введите сюда описание изображения введите сюда описание изображения


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

Автор решения: S. Nick
self.windowGroup.hint_5050.setEnabled(True)                 # <----

import sys
from PyQt5.Qt import *
import webbrowser
import random                                         


class WindowGroup(QWidget):
    def __init__(self):
        super().__init__()
        self.setObjectName('windowgroup')

        self.list_questions = [                  
            '<h1 style="color: rgb(185, 255, 0);">Що приказка не радить виносити з хати, щоб не розголошувати сімейні розбрати?</h1>',
            '<h1 style="color: rgb(185, 255, 0);">Який материк найбільший?</h1>',
            '<h1 style="color: rgb(185, 255, 0);">Куди вказує червона стрілка компаса?</h1>',
            '<h1 style="color: rgb(185, 255, 0);">Який пігмент забарвлює листя в зелений колір?".?</h1>',
            '<h1 style="color: rgb(185, 255, 0);">Який препарат марно намагалися отримати середньовічні алхіміки?".?</h1>',
            '<h1 style="color: rgb(185, 255, 0);">Як правильно кликати гусака?".?</h1>',
            '<h1 style="color: rgb(185, 255, 0);">Якій кухні належить блюдо "форшмак"?".?</h1>',
            '<h1 style="color: rgb(185, 255, 0);">Яку рослину називають «живим світлофором»?".?</h1>',
            '<h1 style="color: rgb(185, 255, 0);">Що є туманністю Андромеди?".?</h1>',
            '<h1 style="color: rgb(185, 255, 0);">Назвіть офіційну мову Шрі-Ланки:".?</h1>',
            '<h1 style="color: rgb(185, 255, 0);">Столицею якої країни є місто Богота?".?</h1>',
            '<h1 style="color: rgb(185, 255, 0);">Які літальні апарати конструював Отто Ліліенталь?".?</h1>',
            '<h1 style="color: rgb(185, 255, 0);">У якому столітті в Китаї почали добувати залізо?".?</h1>',
            '<h1 style="color: rgb(185, 255, 0);">У якій мові програмування немає засобів роботи з файлами?".?</h1>',
            '<h1 style="color: rgb(185, 255, 0);">У яких тварин офіційно реєструвалися сонячні удари, подібні до людських?".?</h1>',
        ]
    
        self.quantity_questions = len(self.list_questions) 
        
        self.list_buttons = [                                     
            ['А: Сміття', 'В: Сор', 'С: Пил', 'D: Меблі'],
            ['А: Північна Америка', 'В: Південна Америка', 'С: Африка', 'D: Євразія'],
            ['А: Північ', 'В: Схід', 'С: Захід', 'D: Південь'],
            ['А: Каротин', 'В: Антоціан', 'С: Хлорофіл', 'D: Танін'],
            ['А: Настоянку мудрості', 'В: Засіб від лупи', 'С: Еліксир життя', 'D: Напій сміливості'],
            ['А: Киць-киць', 'В: Гуль-гуль', 'С: Тега-тега', 'D: Курчат-курчат'],
            ['А: Єврейській', 'В: Грузинській', 'С: Китайській', 'D: Індійській'],
            ['А: Акаліфа', 'В: Медуниця', 'С: Маранта', 'D: Кротон'],
            ['А: Метеорит', 'В: Зірка', "С: Сузір'я", 'D: Галактика'],
            ['А: Урду', 'В: Сінгальский', 'С: Бенгальський', 'D: Брахми'],
            ['А: Чилі', 'В: Перу' ,'С: Аргентина', 'D: Колумбія'],
            ['А: Вертольоти', 'В: Дирижаблі', 'С: Літаки-біплани', 'D: Планери'],
            ['А: 4 вік до н.е', 'В: 2 вік', 'С: 3 вік', 'D: 5 вік до н.е.'],
            ['А: PHP', 'В: Delphi', 'С: C++', 'D: JavaScript'],
            ['А: У собак', 'В: У кішок', 'С: У свиней', 'D: У кроликів']
        ]
        self.list_yes_buttons = [                      
            'А: Сміття',
            'D: Євразія',
            'D: Південь',
            'С: Хлорофіл',
            'С: Еліксир життя',
            'С: Тега-тега',
            'А: Єврейські',
            'В: Медуниця',
            'D: Галактика',
            'В: Сінгальский',
            'D: Колумбія',
            'D: Планери',
            'D: 5 вік до н.е.',
            'D: JavaScript',
            'D: У кроликів'
        ]
        self.current_question = 0 

        self.label = QLabel(self.list_questions[self.current_question])

        self.radioGroupBox = QGroupBox('') 
        self.radioGroup = QButtonGroup() 

        self.rbtn_1 = QPushButton('А: Сміття')
        self.rbtn_2 = QPushButton('В: Сор')
        self.rbtn_3 = QPushButton('С: Пил')
        self.rbtn_4 = QPushButton('D: Меблі')

        self.radioGroup.addButton(self.rbtn_1)
        self.radioGroup.addButton(self.rbtn_2)
        self.radioGroup.addButton(self.rbtn_3)
        self.radioGroup.addButton(self.rbtn_4)

        self.hint_5050 = QPushButton(self)
        self.hint_5050.setIcon(QIcon('5050_normal.png'))
        self.hint_5050.setIconSize(QSize(105, 90))
        self.hint_5050.setFixedSize(120, 100)

        self.hint_audience = QPushButton(self)
        self.hint_audience.setIcon(QIcon('audience_normal.png'))
        self.hint_audience.setIconSize(QSize(105, 90))
        self.hint_audience.setFixedSize(120, 100)

        self.hint_expert = QPushButton(self)
        self.hint_expert.setIcon(QIcon('expert_normal.png'))
        self.hint_expert.setIconSize(QSize(105, 90))
        self.hint_expert.setFixedSize(120, 100)      

        self.hint_switch = QPushButton(self)
        self.hint_switch.setIcon(QIcon('switch_2_normal.png'))
        self.hint_switch.setIconSize(QSize(105, 90))
        self.hint_switch.setFixedSize(120, 100)           

        layout_ans1 = QHBoxLayout()  
        layout_ans2 = QVBoxLayout()
        layout_ans3 = QVBoxLayout()
        layout_ans2.addWidget(self.rbtn_1) 
        layout_ans2.addWidget(self.rbtn_2)
        layout_ans3.addWidget(self.rbtn_3) 
        layout_ans3.addWidget(self.rbtn_4)

        layout_ans1.addLayout(layout_ans2)
        layout_ans1.addLayout(layout_ans3) 

        self.radioGroupBox.setLayout(layout_ans1)

        layout = QVBoxLayout(self)
        layout.addWidget(self.label, alignment=Qt.AlignCenter)
        layout.addWidget(self.radioGroupBox)


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

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

        self.num = 0

        self.question = QLabel('<h1 style="color: rgb(250, 55, 55);">Правила гри')

        self.rules = QLabel('''Гра "Хто хоче стати мільйонером?" 
\
Ви повинні правильно відповісти на низку питань \
з кількома варіантами відповідей, щоб заробити 3.000.000 грн. \
Всього 15 питань, кожне питання коштує певної суми грошей, \
учасники не мають жодних тимчасових обмежень для надання \
відповіді. Учасник також отримуює 4 види підказок, щоб допомогти собі, \
якщо вони застрягли на конкретному питанні.  
\
Більше ознайомитися з правилами можна, натиснувши на кнопку. 
\
Хай щастить!''')
        self.rules.setStyleSheet("""
        font: bold;
        color: rgb(185, 255, 0);
    """)
        self.rules.setFixedSize(1010,450)
        self.rules.setObjectName('rules')
        self.rules.setWordWrap(True)    

        self.button_rules = QPushButton('Правила')
        self.button_rules.clicked.connect(lambda: webbrowser.open('https://ru.wwbm.com/rules'))
        self.button_rules.setFixedSize(300,50)


        self.button_start = QPushButton('Почати', clicked=self._start)  
        self.button_start.setFixedSize(300,50)
        
        
        self.layout = QVBoxLayout(self.centralWidget)
        
        self.lineH1 = QHBoxLayout()
        lineH2 = QHBoxLayout()
        lineH3 = QHBoxLayout()
        self.lineH1.addWidget(self.question, alignment=Qt.AlignHCenter)
        lineH2.addWidget(self.rules)
        lineH3.addWidget(self.button_rules, alignment=Qt.AlignCenter)
        lineH3.addWidget(self.button_start, alignment=Qt.AlignCenter)
        self.layout.addLayout(self.lineH1)
        self.layout.addWidget(self.rules, alignment=Qt.AlignHCenter)
        self.layout.addLayout(lineH3)
        
        self.timer = QTimer(self)
        self.timer.timeout.connect(self.update_timer)

        self.windowGroup = WindowGroup()

        self.windowGroup.rbtn_1.clicked.connect(self.on_clicked)
        self.windowGroup.rbtn_2.clicked.connect(self.on_clicked)
        self.windowGroup.rbtn_3.clicked.connect(self.on_clicked)
        self.windowGroup.rbtn_4.clicked.connect(self.on_clicked)

        self.list_rbtn = [
            self.windowGroup.rbtn_1,
            self.windowGroup.rbtn_2,
            self.windowGroup.rbtn_3,
            self.windowGroup.rbtn_4,
        ] 
        self.correct_answer = '<h1 style="color: #4E9F3D;">Це вірна відповідь!</h1>'
        self.wrong_answer = '<h1 style="color: #DA0037;">Це НЕ вірна відповідь!</h1>'
        
#       vvvvvvvvvvvvvvvvvvvvvvvvvv
        self.windowGroup.hint_5050.clicked.connect(self.clicked_5050)
#       ^^^^^^^^^^^^^^^^^^^^^^^^^^        
    
    def hint_on_clicked(self):
        pass

    def on_clicked(self):
        self.windowGroup.setEnabled(False)
        sender = self.sender()  
        self.sender_click = sender
        if sender.text() in self.windowGroup.list_yes_buttons:
            sender.setStyleSheet("background-color: green;")
            self.windowGroup.label.setText(
                f'{self.windowGroup.list_questions[self.windowGroup.current_question]} \
                {self.correct_answer}' 
            )                 
        else:
            sender.setStyleSheet("background-color: red;") 
            self.windowGroup.label.setText(
                f'{self.windowGroup.list_questions[self.windowGroup.current_question]} \
                {self.wrong_answer}' 
            )             
            self.windowGroup.current_question = self.windowGroup.quantity_questions
            self.num = 3
            
        self.windowGroup.label.setAlignment(Qt.AlignCenter)
        QTimer.singleShot(3000, self.third)  

    def set_stylesheet(self):  
            self.setStyleSheet("""
                QLabel, QPushButton {
                    font-size: 20pt;
                }
                #rules { 
                    background-color: #ccffbd;
                }
                #windowgroup > QLabel { 
                    font-size: 11pt;
                }
                #windowgroup > QGroupBox { 
                    background-color: #a44500;
                    font-size: 20pt;
                    width: 620px; height: 49px;
                }
                QPushButton {
                    background-color: #D98C00;
                    font-size: 34px;
                }
                QPushButton:hover {
                    background-color: #0082fc;
                    border: 2px solid #FFA6D5;
                }
                #centralWidget {
                    background-image: url(first.jpg);
                }
            """) 
        
    def update_timer(self):        
        self.question.setText(f'<h1 style="color: rgb(250, 55, 55);">{self.num}</h1>')
        if self.num == 0:
            self.timer.stop()
           
            self.set_stylesheet()                 

            self.question.setPixmap(QPixmap("million.png"))
            self.num = 3
            self.rules.hide()
            self.button_start.hide()
            self.button_rules.hide()
            self.layout.addWidget(self.windowGroup, alignment=Qt.AlignHCenter)

            self.lineH1.insertStretch(0)
            self.lineH1.insertWidget(1, self.windowGroup.hint_5050)
            self.lineH1.insertStretch(2)
            self.lineH1.insertWidget(3, self.windowGroup.hint_audience)
            self.lineH1.insertStretch(4)
            self.lineH1.insertStretch(-1)
            self.lineH1.insertWidget(-1, self.windowGroup.hint_expert)
            self.lineH1.insertStretch(-1)
            self.lineH1.insertWidget(-1, self.windowGroup.hint_switch)
            self.lineH1.insertStretch(-1)

            return            
        self.num -= 1        

    def _start(self):
        self.timer.start(1000)     

    def third(self):
        self.windowGroup.setEnabled(True)
# +++   vvvvvvvvvvvvvvvvvvvvvvvvvv                                        !!!   
        self.windowGroup.hint_5050.setEnabled(True)                       # <----
# +++   ^^^^^^^^^^^^^^^^^^^^^^^^^^                                        !!!       
        if self.windowGroup.current_question + 1 < self.windowGroup.quantity_questions:
            self.windowGroup.current_question += 1
            
            self.windowGroup.label.setText(
                self.windowGroup.list_questions[self.windowGroup.current_question])
            
            self.windowGroup.rbtn_1.setText(
                self.windowGroup.list_buttons[self.windowGroup.current_question][0])
            self.windowGroup.rbtn_2.setText(
                self.windowGroup.list_buttons[self.windowGroup.current_question][1])
            self.windowGroup.rbtn_3.setText(
                self.windowGroup.list_buttons[self.windowGroup.current_question][2])
            self.windowGroup.rbtn_4.setText(
                self.windowGroup.list_buttons[self.windowGroup.current_question][3])                

            self.set_stylesheet()            
        else:
            self.windowGroup.label.setText(
                '<h1 style="color: #FFDD93;">Игра закончена, спасибо за участие.</h1>'
            )     
            self.windowGroup.setEnabled(False)
            self.sender_click.setStyleSheet(
                "background-color: #D98C00; width: 780px; height: 49px;")
            self.set_stylesheet() 
            
        for rbtn in self.list_rbtn: 
            rbtn.setEnabled(True)        
            rbtn.setStyleSheet("""
                QPushButton {
                    background-color: #D98C00; 
                    width: 620px; height: 49px;
                }
                QPushButton:hover {
                    background-color: #0082fc;
                    border: 2px solid #FFA6D5;
                }
            """) 
        self.windowGroup.label.setAlignment(Qt.AlignCenter)   

    def clicked_5050(self):
        self.windowGroup.hint_5050.setEnabled(False)
        
        current_question = self.windowGroup.current_question
        list_yes_buttons = self.windowGroup.list_yes_buttons[current_question]
        list_5050 = [list_yes_buttons,]
        
        not_buttons = self.windowGroup.list_buttons[current_question]
        not_buttons.remove(list_yes_buttons)
        not_buttons = random.choices(not_buttons)

        list_5050.append(not_buttons[0])
        
        for rbtn in self.list_rbtn:
            if rbtn.text() in list_5050:
                pass
            else:
                rbtn.setEnabled(False)
        
        
if __name__ == "__main__":
    import sys
    app = QApplication(sys.argv)
    app.setStyleSheet("""
        QLabel {
            font-size: 20pt;
        }
        QPushButton { 
            font-size: 20pt;
            background-color: #ff8000;
        }
        #centralWidget {
            background-image: url(first.jpg);
        }

    """)     
    w = MainWindow()          
    w.setWindowTitle('Million')  
    w.resize(1700, 770)
    w.move(125, 110)
    w.show()                           
    sys.exit(app.exec_())

введите сюда описание изображения

введите сюда описание изображения

→ Ссылка