Esempio n. 1
0
    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)
Esempio n. 2
0
    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)