def __init__(self, parent, label, current, minimum, maximum, step, stepSmall, scalePoints, prefix, suffix): QDialog.__init__(self, parent) self.ui = ui_inputdialog_value.Ui_Dialog() self.ui.setupUi(self) self.ui.label.setText(label) self.ui.doubleSpinBox.setDecimals(countDecimalPoints(step, stepSmall)) self.ui.doubleSpinBox.setRange(minimum, maximum) self.ui.doubleSpinBox.setSingleStep(step) self.ui.doubleSpinBox.setValue(current) self.ui.doubleSpinBox.setPrefix(prefix) self.ui.doubleSpinBox.setSuffix(suffix) if not scalePoints: self.ui.groupBox.setVisible(False) self.resize(200, 0) else: text = "<table>" for scalePoint in scalePoints: text += "<tr><td align='right'>%f</td><td align='left'> - %s</td></tr>" % ( scalePoint['value'], scalePoint['label']) text += "</table>" self.ui.textBrowser.setText(text) self.resize(200, 300) self.fRetValue = current self.accepted.connect(self.slot_setReturnValue)
def __init__(self, parent, label, current, minimum, maximum, step, stepSmall, scalePoints): QDialog.__init__(self, parent) self.ui = ui_inputdialog_value.Ui_Dialog() self.ui.setupUi(self) # calculate num decimals from stepSmall if stepSmall >= 1.0: decimals = 0 elif step >= 1.0: decimals = 2 else: decfrac, decwhole = modf(stepSmall) if "000" in str(decfrac): decfrac = round(decfrac, str(decfrac).find("000")) else: decfrac = round(decfrac, 12) decimals = abs(len(str(decfrac)) - len(str(decwhole)) - 1) self.ui.label.setText(label) self.ui.doubleSpinBox.setDecimals(decimals) self.ui.doubleSpinBox.setRange(minimum, maximum) self.ui.doubleSpinBox.setSingleStep(step) self.ui.doubleSpinBox.setValue(current) if not scalePoints: self.ui.groupBox.setVisible(False) self.resize(200, 0) else: text = "<table>" for scalePoint in scalePoints: text += "<tr><td align='right'>%f</td><td align='left'> - %s</td></tr>" % ( scalePoint['value'], scalePoint['label']) text += "</table>" self.ui.textBrowser.setText(text) self.resize(200, 300) self.fRetValue = current self.accepted.connect(self.slot_setReturnValue)