from PyQt5.QtWidgets import QApplication, QMainWindow, QDialog, QVBoxLayout from PyQt5.QtGui import QPalette, QColor, QTextCursor import sys sys.path.insert(0, "../") BUTTON_CORRECT = "QRadioButton { border-style: solid; border-width: 2px; border-radius: 10px; border-color: green; }" BUTTON_INCORRECT = "QRadioButton { border-style: solid; border-width: 2px; border-radius: 10px; border-color: red; }" from take import ViewTestWindow, TestTakeWindow, TestReviewWindow class ViewTests(QMainWindow): def __init__(self): super(ViewTests, self).__init__() # Set up the user interface from Designer. self.ui = ViewTestWindow.Ui_MainWindow() self.ui.setupUi(self) self.take = TestTake() self.review = TestReview() self.ui.takeButton.clicked.connect(self.showTestTake) self.ui.reviewButton.clicked.connect(self.showTestReview) def showTestTake(self): self.take.show() def showTestReview(self): self.review.show() class TestTake(QMainWindow): def __init__(self): super(TestTake, self).__init__() # Set up the user interface from Designer. self.ui = TestTakeWindow.Ui_MainWindow() self.ui.setupUi(self) self.ui.scrollVerticalLayout = QVBoxLayout(self.ui.questionScrollWidget) self.ui.scrollVerticalLayout.setObjectName("scrollVerticalLayout") self.ui.scrollVerticalLayout.addWidget(self.ui.Question1Group) self.ui.scrollVerticalLayout.addWidget(self.ui.Question2Group) self.ui.scrollVerticalLayout.addWidget(self.ui.Question3Group) self.ui.scrollVerticalLayout.addWidget(self.ui.Question4Group) self.ui.scrollVerticalLayout.addWidget(self.ui.Question5Group) self.ui.scrollVerticalLayout.addWidget(self.ui.Question6Group) self.ui.scrollVerticalLayout.addWidget(self.ui.Question7Group) self.ui.submitButton.clicked.connect(self.submit) def submit(self): self.close() class TestReview(QMainWindow): def __init__(self): super(TestReview, self).__init__() # Set up the user interface from Designer. self.ui = TestReviewWindow.Ui_MainWindow() self.ui.setupUi(self) # Add Student Answer self.ui.q3input.setText("30") self.ui.q4input.setText("0") self.ui.q5aInput.setText("input is 1\ndone") self.ui.q5bInput.setText("input is not 1,2,3\ndone") # Identify correct answers self.ui.q1bRadio.setStyleSheet(BUTTON_CORRECT) self.ui.q2bRadio.setStyleSheet(BUTTON_INCORRECT) self.ui.q6input.setText("Your solution passed 1 of 1 tests") self.ui.q7input.setText("Your solution passed 0 of 1 tests\nTEST 1 FAILED - Input: \"1\"\n<< 1\n>> 0") #self.ui.q3input.moveCursor(QTextCursor.EndOfLine, QTextCursor.MoveAnchor) #self.ui.q3input.insertHtml("

 Correct: \"30\"

") self.ui.scrollVerticalLayout = QVBoxLayout(self.ui.questionScrollWidget) self.ui.scrollVerticalLayout.setObjectName("scrollVerticalLayout") self.ui.scrollVerticalLayout.addWidget(self.ui.Question1Group) self.ui.scrollVerticalLayout.addWidget(self.ui.Question2Group) self.ui.scrollVerticalLayout.addWidget(self.ui.Question3Group) self.ui.scrollVerticalLayout.addWidget(self.ui.Question4Group) self.ui.scrollVerticalLayout.addWidget(self.ui.Question5Group) self.ui.scrollVerticalLayout.addWidget(self.ui.Question6Group) self.ui.scrollVerticalLayout.addWidget(self.ui.Question7Group) self.ui.submitButton.clicked.connect(self.submit) def submit(self): self.close()