def addGuiItem(self, ParentClass, parameters, width): """Defines a new set of Label and a box that can be a ComboBox, RComboBox, LineEdit, TextEdit or DoubleSpinBox.""" widgetType=parameters[1] #check if there are default values: if len(parameters)>2: default=parameters[2] else: default="" skip = False notnull=parameters[3] #setting the right type of widget if widgetType=="comboBox": widget = QComboBox(ParentClass) widget.addItems(default.split(';')) widget.setFixedHeight(26) elif widgetType=="RComboBox": widget = RComboBox(ParentClass, default.split(';')) widget.setFixedHeight(26) self.hasRComboBox = True widget.setEditable(True) elif widgetType=="RListWidget": widget = RListWidget(ParentClass, default.split(';'), notnull) widget.setMinimumHeight(116) self.hasRComboBox = True widget.setSelectionMode( QAbstractItemView.ExtendedSelection) elif widgetType=="doubleSpinBox": widget = QDoubleSpinBox(ParentClass) widget.setValue(float(default)) widget.setFixedHeight(26) widget.setMaximum(999999.9999) widget.setDecimals(4) elif widgetType=="textEdit": widget = QTextEdit(ParentClass) widget.setPlainText(default) widget.setMinimumHeight(116) elif widgetType=="helpString": self.helpString = default skip = True else: #if unknown assumes lineEdit widget = QLineEdit(ParentClass) widget.setText(default) widget.setFixedHeight(26) if not skip: hbox = QHBoxLayout() name="widget"+unicode(self.widgetCounter) widget.setObjectName(name) widget.setMinimumWidth(250) self.widgets.append(widget) name="label"+unicode(self.widgetCounter) self.widgetCounter += 1 label = QLabel(ParentClass) label.setObjectName(name) label.setFixedWidth(width*8) label.setText(parameters[0]) hbox.addWidget(label) hbox.addWidget(widget) self.vbox.addLayout(hbox)