from PyQt5.QtWidgets import QMainWindow, QDialog import sys sys.path.insert(0, '../') from generate import SimpleGenerate, AdvancedGenerate, SelectTestBanks, ManualAdd, AddFromSelectedTestBanks, SelectQuestionType from take import Take import questionBank class SimpleGenerator(QMainWindow): def __init__(self): super(SimpleGenerator, self).__init__() # Set up the user interface from Designer. self.ui = SimpleGenerate.Ui_MainWindow() self.ui.setupUi(self) self.adv = AdvancedGenerator() self.select = ChooseTestBanks() self.selectText = self.select.ui.label.text() self.advancedGenerateLabelText = self.adv.ui.label_3.text() self.generatedTest = Take.TestTake() self.ui.pushButton.clicked.connect(self.showSelectTestBanks) self.ui.pushButton_2.clicked.connect(self.close) self.ui.pushButton_4.clicked.connect(self.showAdvancedGenerate) self.ui.pushButton_3.clicked.connect(self.generateTest) def showSelectTestBanks(self): self.select.ui.label.setText("{} {}:".format(self.selectText, self.ui.comboBox.currentText())) self.select.ui.listWidget.clearSelection() self.select.show() def showAdvancedGenerate(self): self.adv.ui.label_3.setText("{} {}:".format(self.advancedGenerateLabelText, self.ui.comboBox.currentText())) self.adv.show() self.close() def generateTest(self): self.generatedTest.show() self.close() class ChooseTestBanks(QDialog): def __init__(self): super(ChooseTestBanks, self).__init__() # Set up the user interface from Designer. self.ui = SelectTestBanks.Ui_Dialog() self.ui.setupUi(self) class AdvancedGenerator(QMainWindow): def __init__(self): super(AdvancedGenerator, self).__init__() # Set up the user interface from Designer. self.ui = AdvancedGenerate.Ui_MainWindow() self.ui.setupUi(self) self.ui.tableWidget.setColumnWidth(0, 290) self.generatedTest = Take.TestTake() self.manual = ManualAddQuestion() self.ui.pushButton_2.clicked.connect(self.manual.show) self.ui.pushButton_4.clicked.connect(self.generateTest) self.ui.pushButton_5.clicked.connect(self.close) def generateTest(self): self.generatedTest.show() self.close() class AddExisting(QDialog): def __init__(self): super(AddExisting, self).__init__() # Set up the user interface from Designer. self.ui = AddFromSelectedTestBanks.Ui_Dialog() self.ui.setupUi(self) self.ui.pushButton.clicked.connect(self.close) self.ui.pushButton_2.clicked.connect(self.close) class ManualAddQuestion(QDialog): def __init__(self): super(ManualAddQuestion, self).__init__() # Set up the user interface from Designer. self.ui = ManualAdd.Ui_Dialog() self.ui.setupUi(self) self.addExisting = AddExisting() self.selectType = ChooseQuestionType() self.ui.pushButton.clicked.connect(self.showManualAddType) def showManualAddType(self): if self.ui.radioButton.isChecked(): self.addExisting.show() self.close() else: self.selectType.show() self.close() class ChooseQuestionType(QDialog): def __init__(self): super(ChooseQuestionType, self).__init__() # Set up the user interface from Designer. self.ui = SelectQuestionType.Ui_Dialog() self.ui.setupUi(self) if self.ui.radioButton.isChecked(): self.addQuestion = questionBank.qbConstructor.AddMCQuestion() elif self.ui.radioButton_2.isChecked(): self.addQuestion = questionBank.qbConstructor.AddSAQuestion() elif self.ui.radioButton_3.isChecked(): self.addQuestion = questionBank.qbConstructor.AddSAQuestion() else: self.addQuestion = questionBank.qbConstructor.AddCodeQuestion() self.ui.pushButton_2.clicked.connect(self.selectType) self.ui.pushButton.clicked.connect(self.close) def selectType(self): self.addQuestion.show() self.close()