def defineLineEditSubEditor(): widget = LineEdit(self) validator = QtGui.QDoubleValidator(self) validator.setDecimals(3) widget.setValidator(validator) self.__editors.append(widget) return widget
def __init__(self, valueController, parent=None): super(ScalarSliderEditor, self).__init__(valueController, parent=parent) hbox = QtWidgets.QHBoxLayout() validator = QtGui.QDoubleValidator(self) validator.setRange(self._range['min'], self._range['max'], 4) self._editEditor.setValidator(validator) self._editEditor.setSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) self._sliderEditor.setMinimum(self._range['min'] * 1000) self._sliderEditor.setMaximum(self._range['max'] * 1000) self._sliderEditor.setSizePolicy( QtWidgets.QSizePolicy.MinimumExpanding, QtWidgets.QSizePolicy.Fixed) self._sliderEditor.setTickInterval(1000) self._editEditor.setMinimumWidth(50) self._editEditor.setMaximumWidth(90) hbox.addWidget(self._editEditor, 1) hbox.addWidget(self._sliderEditor, 1) hbox.addStretch() self.setLayout(hbox) self.layout().setContentsMargins(0, 0, 0, 0) self.updateEditorValue() def __sliderPressed(): self.beginInteraction() def __sliderReleased(): self.endInteraction() def __sliderMoved(value): if self._updatingEditor: return value = float(value) / 1000 self._editEditor.setText(str(round(value, 4))) self._value = value self._setValueToController() def __textEdited(): if self._updatingEditor: return value = self.getEditorValue() # if self._dynamicRange: # self.updateSliderRange(value) self._sliderEditor.setValue(value * 1000) self._setValueToController() self._sliderEditor.sliderPressed.connect(__sliderPressed) self._sliderEditor.sliderReleased.connect(__sliderReleased) self._sliderEditor.valueChanged.connect(__sliderMoved) self._editEditor.editingFinished.connect(__textEdited) self.setEditable(valueController.isEditable())
def defineLineEditSubEditor(name): label = QtWidgets.QLabel(name, self) hbox.addWidget(label) widget = LineEdit(self) validator = QtGui.QDoubleValidator(self) validator.setDecimals(2) widget.setValidator(validator) hbox.addWidget(widget, 1) self.__editors.append(widget) return widget