def generate_parameter_inputs(self, layout): parameter_wiget = QWidget(self) parameter_wiget._grid = QtWidgets.QGridLayout() parameter_wiget.setLayout(parameter_wiget._grid) self.inputs = None if "obstacle" in self.mode.lower(): self.inputs = [ [None, None, "Static PWL distance 1"], [None, None, "Static PWL distance 2"], [None, None, "Static PWL distance 3"], [None, None, "Static PWL distance 4"], [None, None, "Static PWL distance 5"], [None, None, "Static PWL amplitude 1"], [None, None, "Static PWL amplitude 2"], [None, None, "Static PWL amplitude 3"], [None, None, "Static PWL amplitude 4"], [None, None, "Static PWL amplitude 5"], [None, None, "Moving PWL distance 1"], [None, None, "Moving PWL distance 2"], [None, None, "Moving PWL amplitude 1"], [None, None, "Moving PWL amplitude 2"], [None, None, "Static adjacent factor"], [None, None, "Moving max"], ] helper_path = os.path.dirname(os.path.realpath(__file__)) param_file = os.path.join( helper_path, "../../examples/processing/obstacle_bg_params_dump.yaml" ) if self.inputs is not None: for idx, i in enumerate(self.inputs): i[0] = QLabel(i[-1]) i[1] = QLineEdit("0", self) parameter_wiget._grid.addWidget(i[0], idx, 0) parameter_wiget._grid.addWidget(i[1], idx, 1) try: with open(param_file, 'r') as f_handle: params = yaml.load(f_handle) self.set_params(params) except Exception: # Continue with empty inputs if file doesn't exist print("Failed to set params from file") layout.addWidget(parameter_wiget)