Балуйтесь:



pip install pyqt5


from PyQt5.QtWidgets import QApplication, QWidget, QVBoxLayout, QLabel, QPushButton, QMessageBox

from PyQt5.QtGui import QFont

from PyQt5.QtCore import Qt

import sys





class HumanCheckApp(QWidget):

def __init__(self):

super().__init__()

self.init_ui()



def init_ui(self):

self.setWindowTitle("Тест на психотип")

self.setGeometry(100, 100, 400, 300)

self.setStyleSheet("background-color: #f0f0f0;")



layout = QVBoxLayout()

layout.setSpacing(20)



self.label = QLabel("Ты - человек?", self)

self.label.setFont(QFont("Arial", 14, QFont.Bold))

self.label.setStyleSheet("color: #333;")

self.label.setAlignment(Qt.AlignCenter)

layout.addWidget(self.label)



self.yes_button = HoverButton("Да", self)

self.yes_button.setFont(QFont("Arial", 12))

self.yes_button.setStyleSheet(self.get_button_style("#4CAF50", "#45A049"))

self.yes_button.hover_signal.connect(self.change_question)

self.yes_button.clicked.connect(self.yes_clicked)

layout.addWidget(self.yes_button)



self.no_button = QPushButton("Нет", self)

self.no_button.setFont(QFont("Arial", 12))

self.no_button.setStyleSheet(self.get_button_style("#F44336", "#D32F2F"))

self.no_button.clicked.connect(self.no_clicked)

layout.addWidget(self.no_button)



layout.setAlignment(Qt.AlignCenter)

self.setLayout(layout)



def get_button_style(self, color, hover_color):

return f"""

QPushButton {{

background-color: {color};

color: white;

border: none;

padding: 10px;

border-radius: 5px;

}}

QPushButton:hover {{

background-color: {hover_color};

}}

QPushButton:pressed {{

background-color: #333;

}}

"""



def change_question(self):

self.label.setText("СОСАЛ???")



def yes_clicked(self):

QMessageBox.information(self, "Ответ", "АХАХАХАХХХАХХАХА")

def no_clicked(self):

QMessageBox.warning(self, "Ответ", "Не ври мне, ответь честно!")





class HoverButton(QPushButton):

from PyQt5.QtCore import pyqtSignal

hover_signal = pyqtSignal()



def enterEvent(self, event):

self.hover_signal.emit()

super().enterEvent(event)





def show_warning():

warning = QMessageBox()

warning.setWindowTitle("Внимание!")

warning.setText(

"Этот тест направлен на определение вашего психотипа и выявление моральных травм.\n"

"Пожалуйста, ответьте честно!"

)

warning.setIcon(QMessageBox.Warning)

warning.setStandardButtons(QMessageBox.Ok | QMessageBox.Cancel)

response = warning.exec_()



if response == QMessageBox.Ok:

return True

else:

return False





def main():

app = QApplication(sys.argv)

if show_warning():

window = HumanCheckApp()

window.show()

sys.exit(app.exec_())

else:

sys.exit(0)





if __name__ == "__main__":

main()