Beispiel #1
0
class ConfigSetting(QWidget):
    def __init__(self, settingName, settingType, **kwargs):
        super().__init__()

        self.settingType = settingType

        mainLayout = QHBoxLayout()
        self.setLayout(mainLayout)

        mainLayout.addWidget(QLabel(settingName))

        if settingType == "check":
            self.settingInput = QCheckBox()
            self.settingInput.setChecked(True)
        elif settingType == "line":
            self.settingInput = QLineEdit()
        elif settingType == "dropdown":
            self.settingInput = QComboBox()
            if kwargs.get("dropdownOptions", None):
                for i in kwargs["dropdownOptions"]:
                    self.settingInput.addItem(i)
            else:
                print("No options were provided for setting \'" + settingName +
                      "\'")

        mainLayout.addWidget(self.settingInput)

        if kwargs.get("tooltip", None):
            self.setToolTip(kwargs["tooltip"])

    def setSetting(self, setting):
        if self.settingType == "check":
            if setting == "1":
                self.settingInput.setChecked(True)
            elif setting == "0":
                self.settingInput.setChecked(False)
        elif self.settingType == "line":
            self.settingInput.setText(setting)
        elif self.settingType == "dropdown":
            self.settingInput.setCurrentIndex(
                self.settingInput.findText(setting))

    def getSetting(self):
        if self.settingType == "check":
            if self.settingInput.isChecked():
                return "1"
            else:
                return "0"
        elif self.settingType == "line":
            return self.settingInput.text()
        elif self.settingType == "dropdown":
            return self.settingInput.currentText()