import sys from PyQt5 import QtWidgets from PyQt5.QtWidgets import QMainWindow,QDialog,QBoxLayout, QApplication, QWidget, QPushButton, QAction, QLineEdit, QMessageBox, QComboBox,QProgressBar,QLabel,QPlainTextEdit from PyQt5.QtGui import QPixmap from PyQt5.QtWidgets import * from PyQt5.QtGui import QIcon, QPixmap from PyQt5.Qt import QApplication from PyQt5.QtGui import QDesktopServices from PyQt5.QtCore import QUrl import subprocess import time import random import threading class Window(QMainWindow): def __init__(self): super().__init__() self.question_prompts = [ "What color are apples ?\n(a) Red/Green\n(b) Yellow\n(c) Pink\n", "What color are bananas ?\n(a) Teal\n(b) Yellow\n(c) Black\n", "What color are strawberry ?\n(a) yelow\n(b) black\n(c) red\n", "What color are toilets ?\n(a) yelow\n(b) black\n(c) red\n", "What color is ferrari ?\n(a) yelow\n(b) black\n(c) red\n" ] self.numberof = len(self.question_prompts) self.answers = ["a","b","c","d","e"] self.answers1= -1 self.score = 0 self.counter = 0 self.setFixedSize(400, 200) self.move(100,100) self.setWindowTitle("quiz") self.b1 = QtWidgets.QPushButton(self) self.b1.setText("Next") self.b1.move(240, 120) self.b1.resize(90, 32) self.b1.clicked.connect(self.next) self.b2 = QtWidgets.QPushButton(self) self.b2.setText("Back") self.b2.move(150, 120) self.b2.resize(90, 32) self.b2.clicked.connect(self.back) self.b2.setDisabled(False) self.textbox1 = QLineEdit(self) self.textbox1.move(50, 110) self.textbox1.resize(100, 32) self.textbox1.setPlaceholderText("Answer") self.textbox1Value = self.textbox1.text() self.label2 = QtWidgets.QLabel(self) self.label2.move(48, 40) self.label2.resize(130, 70) self.label2.setText(str(self.question_prompts[self.counter])) self.update() self.show() def next(self): if self.counter < self.numberof-1: self.counter += 1 self.answers1 +=1 self.label2.setText(str(self.question_prompts[self.counter])) if self.textbox1.text() == self.answers[self.answers1]: self.score += 1 self.textbox1.clear() else: if self.textbox1.text() == self.answers[self.counter]: self.score += 1 self.label2.setText("You got " + str(self.score) + " from " + str(len(self.question_prompts)) + " right ") self.counter +=1 self.b1.disconnect() def back(self): if self.counter != self.numberof and self.counter !=0: self.counter = self.counter - 1 self.answers1 = self.answers1 -1 self.label2.setText(str(self.question_prompts[self.counter])) if __name__ == "__main__": app = QApplication(sys.argv) window = Window() sys.exit(app.exec())