def dummy_questions2(): question_list = Question_List.Question_List() # quesion 1 checkbox = Checkbox.Checkbox() checkbox.add_obj(Question_List.Question.Answer.Option.Option("option 4")) checkbox.add_obj(Question_List.Question.Answer.Option.Option("option 5")) checkbox.add_obj(Question_List.Question.Answer.Option.Option("option 6")) question = Question_List.Question.Question("Example checkmark", checkbox) question_list.add_obj(question) checkbox.obj_at(0).preferred_items.add_obj(items.list[1]) checkbox.obj_at(0).preferred_items.add_obj(items.list[0]) checkbox.obj_at(2).preferred_items.add_obj(items.list[2]) # quesion 2 dropdown = Dropdown.Dropdown() dropdown.add_obj(Question_List.Question.Answer.Option.Option("option 4")) dropdown.add_obj(Question_List.Question.Answer.Option.Option("option 5")) dropdown.add_obj(Question_List.Question.Answer.Option.Option("option 6")) question = Question_List.Question.Question("Example dropbox", dropdown) question_list.add_obj(question) # quesion 3 toggle = Toggle.Toggle() toggle.add_obj(Question_List.Question.Answer.Option.Option("option 4")) toggle.add_obj(Question_List.Question.Answer.Option.Option("option 5")) toggle.add_obj(Question_List.Question.Answer.Option.Option("option 6")) question = Question_List.Question.Question("Example toggle", toggle) question_list.add_obj(question) return question_list
def add_question_UI(question_list, question=None): if question == None: question = Question.Question("", Checkbox.Checkbox()) question_list.add_obj(question) return inalize_question_UI(question_list, question)
def question_UI(question = None): if question == None: question = Question.Question("", Checkbox.Checkbox()) answer_layout = Answer_UI(question.get_answer()) question_layout = QVBoxLayout() question_text = QLineEdit() question_text.setPlaceholderText('[Enter Question Text]') question_text.setText(question.get_question_text()) question_text.setMaximumWidth(725) question_text.setMaximumHeight(50) question_text.textChanged.connect(question.set_question_text) dropdown = QComboBox() dropdown.setMaximumWidth(110) dropdown.addItem("Checkbox") dropdown.addItem("Dropdown") dropdown.addItem("Toggle") if question.Answer.get_Answer_Type() == 'Checkbox': dropdown.setCurrentIndex(0) elif question.Answer.get_Answer_Type() == 'Dropdown': dropdown.setCurrentIndex(1) elif question.Answer.get_Answer_Type() == 'Toggle': dropdown.setCurrentIndex(2) else: print('error invalid answer type') dropdown.currentIndexChanged.connect(lambda type: change_answer_type(type, question, answer_layout)) question_layout.addWidget(question_text) question_layout.addWidget(dropdown) question_layout.addLayout(answer_layout) return question_layout
def change_answer_type(self, type): new_answer = None if type == 0: new_answer = Checkbox.Checkbox() elif type == 1: new_answer = Dropdown.Dropdown() elif type == 2: new_answer = Toggle.Toggle() else: print("type of answer is invalid") for option in self.Answer.get_list(): new_answer.add_obj(option) self.Answer = new_answer